00001 #ifndef guard_bounded_array_allocation_traits_hpp
00002 #define guard_bounded_array_allocation_traits_hpp
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #include "tao/Basic_Types.h"
00015
00016 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00017
00018 namespace TAO
00019 {
00020 namespace details
00021 {
00022
00023 template<typename T, CORBA::ULong MAX, bool dummy>
00024 struct bounded_array_allocation_traits
00025 {
00026 typedef T value_type;
00027
00028 inline static CORBA::ULong default_maximum()
00029 {
00030 return MAX;
00031 }
00032
00033 inline static value_type * default_buffer_allocation()
00034 {
00035 return 0;
00036 }
00037
00038 inline static value_type * allocbuf(CORBA::ULong )
00039 {
00040 return new value_type[MAX];
00041 }
00042
00043 inline static void freebuf(value_type * buffer)
00044 {
00045 delete[] buffer;
00046 }
00047 };
00048
00049 }
00050 }
00051
00052
00053 TAO_END_VERSIONED_NAMESPACE_DECL
00054
00055 #endif // guard_unbounded_array_allocation_traits_hpp