3 #ifndef GAUDIKERNEL_BOOSTARRAYASPROPERTY_H
4 #define GAUDIKERNEL_BOOSTARRAYASPROPERTY_H 1
14 #include "boost/array.hpp"
34 template <
class ITERATOR>
39 const std::string& open ,
40 const std::string& close ,
41 const std::string& delim ) ;
51 template <
class TYPE, std::
size_t N>
53 (
const boost::array<TYPE,N>& obj , std::ostream&
s )
56 ( obj.begin () , obj.end () ,
s ,
"( " ,
" )" ,
" , " ) ;
82 template <
class TYPE, std::
size_t N>
84 parse ( boost::array<TYPE,N>& result ,
const std::string& input )
86 typedef std::vector<TYPE> _Vct ;
92 if (
N != tmp.size() )
95 std::copy ( tmp.begin() , tmp.end() , result.begin() ) ;
122 template <
class T, std::
size_t N>
126 typedef boost::array<T,N>
TYPE ;
136 std::fill_n ( tmp->begin() ,
N , T() ) ;
148 {
if ( own ) {
delete right ; } }
152 if ( !own ) {
return right ; }
153 return new_ ( *right ) ;
157 { std::copy ( v2.begin() , v2.end() , v1.begin() ) ; }
160 {
return std::lexicographical_compare
161 ( v1.begin() , v1.end () , v2.begin() , v2.end() ) ; }
171 #endif // GAUDIKERNEL_BOOSTARRAYASPROPERTY_H
helper structure to define the types for properties
static void assign(Type &v1, const Type &v2)
assignement NON-TRIVIAL
The declaration of major parsing functions used e.g for (re)implementation of new extended properties...
static PVal new_()
some kind of default constructor
StatusCode parse(GaudiUtils::HashMap< K, V > &result, const std::string &input)
Basic parser for the types of HashMap used in DODBasicMapper.
bool isFailure() const
Test for a status code of FAILURE.
static PVal copy(PVal right, const bool own)
"smart" copy-constructor
static PVal new_(const Type &right)
some kind of copy constructor NON-TRIVIAL
std::ostream & toStream(ITERATOR first, ITERATOR last, std::ostream &s, const std::string &open, const std::string &close, const std::string &delim)
the helper function to print the sequence
static bool less(const Type &v1, const Type &v2)
comparison (needed for bounded verifier) NON-TRIVIAL
static void assign(Type &v1, PRef v2)
assignment
This class is used for returning status codes from appropriate routines.
static void dele(PVal right, const bool own)
"smart" destructor
boost::array< T, N > TYPE
struct GAUDI_API array
Parametrisation class for redirection array - like implementation.
static PVal new_()
some kind of default constructor NON-TRIVIAL
This is a number of static methods for bootstrapping the Gaudi framework.