codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
#ifdef HAVE_CONFIG_H #include <config.h> #endif #include "APRImplement.h" #include<iostream> #include <apr_general.h> #include <stdio.h> #include <stdlib.h> #include <apr_general.h> #include <apr_tables.h> #include <apr_strings.h> /* apr_array's initial size. * because apr_array is a dynamic array, the initial size is not a max size of the array. */ #define ARRAY_INIT_SZ 32 APRImplement::APRImplement( ) { /* initail apr */ apr_initialize(); apr_pool_create( &mp, NULL ); } /* get pool data */ apr_pool_t* APRImplement::getMp(){ return mp; } /* insert data in stack */ void APRImplement::setApr( APRImplement aprGetMp, std::size_t sizeValue ){ arr = apr_array_make( aprGetMp.getMp(), ARRAY_INIT_SZ, sizeValue ); } /* read data in stack by constant object*/ void APRImplement::iterate_array( const apr_array_header_t *arr ){ for( int i = 0; i < arr->nelts; i++ ){ const char *s = ( ( const char ** )arr->elts)[ i ]; std::cout<< " i data : "<< i << " ,s data : "<<s<<std::endl; } } /* for pop data */ void APRImplement::iterate_stack_array( apr_array_header_t *arr_ ){ const char **ppt; /* casting type to ppt : ( const char ** ) */ while( ppt = ( const char** ) apr_array_pop( arr_ ) ){ std::cout<<"pop string : "<<*ppt<<std::endl; } } /* deconstructor */ APRImplement::~APRImplement() { apr_pool_destroy( mp ); apr_terminate(); std::cout<<" Clear APR "<<std::endl; } /*get array header */ apr_array_header_t* APRImplement::getARR(){ return arr; } void APRImplement::append_items_to_array( apr_array_header_t *arr_, apr_pool_t * mp ,char *dataInsert ){ std::cout<<" Char insert : "<<dataInsert<<std::endl; *( const char** )apr_array_push( arr_ ) = apr_pstrdup( mp, dataInsert ); std::cout<<" Push complete "<<std::endl; } int main(){ /* initial apr_pool_t */ APRImplement apr_init; char * insertValue = "testValue"; /* initi value */ apr_init.setApr( apr_init, sizeof( const char* ) ); /* push data into stack */ apr_init.append_items_to_array( apr_init.getARR(), apr_init.getMp(), insertValue ); /* list data in stack */ apr_init.iterate_stack_array( apr_init.getARR() ); }
Private
[
?
]
Run code