DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dunedaq::oks::OksData Struct Reference

the structure to pass common parameters to various read() methods of OksData and OksObject class More...

#include <object.hpp>

Collaboration diagram for dunedaq::oks::OksData:
[legend]

Classes

union  Data
 

Public Types

enum  Type {
  unknown_type = 0 , s8_int_type = 1 , u8_int_type = 2 , s16_int_type = 3 ,
  u16_int_type = 4 , s32_int_type = 5 , u32_int_type = 6 , s64_int_type = 7 ,
  u64_int_type = 8 , float_type = 9 , double_type = 10 , bool_type = 11 ,
  class_type = 12 , object_type = 13 , date_type = 14 , time_type = 15 ,
  string_type = 16 , list_type = 17 , uid_type = 18 , uid2_type = 19 ,
  enum_type = 20
}
 
typedef std::list< OksData *, boost::fast_pool_allocator< OksData * > > List
 

Public Member Functions

 OksData ()
 
 OksData (int8_t c)
 
 OksData (uint8_t c)
 
 OksData (int16_t i)
 
 OksData (uint16_t i)
 
 OksData (int32_t i)
 
 OksData (uint32_t i)
 
 OksData (int64_t i)
 
 OksData (uint64_t i)
 
 OksData (const float &f)
 
 OksData (const double &d)
 
 OksData (bool b)
 
 OksData (boost::gregorian::date d)
 
 OksData (boost::posix_time::ptime t)
 
 OksData (OksString *s)
 
 OksData (const char *s)
 
 OksData (const std::string &s)
 
 OksData (const OksString &s)
 
 OksData (const char *s, size_t len, const OksAttribute *a)
 
 OksData (const std::string &s, const OksAttribute *a)
 
 OksData (const OksString &s, const OksAttribute *a)
 
 OksData (const OksClass *c)
 
 OksData (List *l)
 
 OksData (OksObject *o)
 
 OksData (const OksClass *c, const char *o)
 
 OksData (const OksClass *c, const OksString &o)
 
 OksData (const std::string &c, const std::string &o)
 
 ~OksData ()
 
void Clear ()
 
void Clear2 ()
 
void Set (int8_t c)
 
void Set (uint8_t c)
 
void Set (int16_t i)
 
void Set (uint16_t i)
 
void Set (int32_t i)
 
void Set (uint32_t i)
 
void Set (int64_t i)
 
void Set (uint64_t i)
 
void Set (const float &f)
 
void Set (const double &d)
 
void Set (bool b)
 
void SetFast (boost::gregorian::date d)
 
void SetFast (boost::posix_time::ptime t)
 
void Set (boost::gregorian::date d)
 
void Set (boost::posix_time::ptime t)
 
void Set (OksString *s)
 
void Set (const char *s)
 
void Set (const std::string &s)
 
void Set (const OksString &s)
 
void Set (const OksClass *c)
 
void SetE (OksString *s, const OksAttribute *a)
 
void SetE (const char *s, size_t len, const OksAttribute *a)
 
void SetE (const std::string &s, const OksAttribute *a)
 
void SetE (const OksAttribute *a)
 
void SetE (const OksString &s, const OksAttribute *a)
 
void Set (List *l)
 
void Set (OksObject *o)
 
void Set (const OksClass *c, const OksString &s)
 
void Set (const OksClass *c, OksString *s)
 
void Set (const OksString &c, const OksString &s)
 
void Set (OksString *c, OksString *s)
 
void ReadFrom (const char *, Type, const OksAttribute *)
 
void ReadFrom (const std::string &, const OksAttribute *)
 
void SetNullValue (const OksAttribute *a)
 
void SetValue (const char *s, const OksAttribute *a)
 
void SetValues (const char *, const OksAttribute *a)
 
void ReadFrom (const OksRelationship *) noexcept
 
void WriteTo (OksXmlOutputStream &, bool) const
 
void WriteTo (OksXmlOutputStream &) const
 
void ConvertTo (OksData *, const OksRelationship *) const
 
boost::gregorian::date date () const noexcept
 
boost::posix_time::ptime time () const noexcept
 
void cvt (OksData *to, const OksAttribute *attr) const
 Convert data to new type.
 
std::string str (int base=0) const
 
std::string str (const OksKernel *) const
 
void check_range (const OksAttribute *a) const
 Check range of data.
 
void set_init_value (const OksAttribute *attr, bool skip_init)
 Set value defined by initial value of attribute.
 
OksDataoperator= (const OksData &d)
 
 OksData (const OksData &d)
 
bool operator== (const OksData &) const
 
bool operator!= (const OksData &) const
 
bool operator<= (const OksData &) const
 
bool operator>= (const OksData &) const
 
bool operator< (const OksData &) const
 
bool operator> (const OksData &) const
 
void * operator new (size_t)
 
void operator delete (void *ptr)
 
void sort (bool ascending=true)
 

Static Public Member Functions

static bool is_object (Type t)
 

Public Attributes

enum dunedaq::oks::OksData::Type type
 
union dunedaq::oks::OksData::Data data
 

Private Member Functions

void copy (const OksData &)
 
bool is_le (const OksData &) const noexcept
 
bool is_ge (const OksData &) const noexcept
 
bool is_l (const OksData &) const noexcept
 
bool is_g (const OksData &) const noexcept
 
void read (const oks::ReadFileParams &, const OksAttribute *, int32_t)
 private methods which can be used by OksObject class only
 
void read (const oks::ReadFileParams &, const OksAttribute *)
 
void read (const OksAttribute *, const OksXmlValue &)
 
void read (const OksAttribute *, const oks::ReadFileParams &)
 
void read (const oks::ReadFileParams &, const OksRelationship *, int32_t)
 
void read (const oks::ReadFileParams &, const OksRelationship *)
 
void read (const OksRelationship *, const OksXmlRelValue &)
 
void read (const OksRelationship *, const oks::ReadFileParams &)
 
 OksData (const oks::ReadFileParams &params, const OksAttribute *a, int32_t n)
 
 OksData (const oks::ReadFileParams &params, const OksAttribute *a)
 
 OksData (const OksAttribute *a, const OksXmlValue &value)
 
 OksData (const OksAttribute *a, const oks::ReadFileParams &params)
 
 OksData (const oks::ReadFileParams &params, const OksRelationship *r, int32_t n)
 
 OksData (const oks::ReadFileParams &params, const OksRelationship *r)
 
 OksData (const OksRelationship *r, const OksXmlRelValue &value)
 
 OksData (const OksRelationship *r, const oks::ReadFileParams &params)
 
void WriteTo (OksXmlOutputStream &, OksKernel *, OksAliasTable *, bool, bool) const
 
bool IsConsistent (const OksRelationship *r, const OksObject *o, const char *msg)
 
const std::string & __oid () const
 
const std::string & __cn () const
 

Friends

class OksObject
 
class OksKernel
 
std::ostream & operator<< (std::ostream &, const OksData &)
 

Detailed Description

the structure to pass common parameters to various read() methods of OksData and OksObject class

Struct OKS data.

The struct OksData is used to present OKS data types (the type is unknown before run-time) Members: enumeration 'type' is used to define data type in run-time union 'data' is used to represent such type

Definition at line 449 of file object.hpp.

Member Typedef Documentation

◆ List

std::list<OksData *, boost::fast_pool_allocator<OksData *> > dunedaq::oks::OksData::List

Definition at line 455 of file object.hpp.

Member Enumeration Documentation

◆ Type

Enumerator
unknown_type 
s8_int_type 
u8_int_type 
s16_int_type 
u16_int_type 
s32_int_type 
u32_int_type 
s64_int_type 
u64_int_type 
float_type 
double_type 
bool_type 
class_type 
object_type 
date_type 
time_type 
string_type 
list_type 
uid_type 
uid2_type 
enum_type 

Definition at line 457 of file object.hpp.

457 {
458 unknown_type = 0,
459 s8_int_type = 1,
460 u8_int_type = 2,
461 s16_int_type = 3,
462 u16_int_type = 4,
463 s32_int_type = 5,
464 u32_int_type = 6,
465 s64_int_type = 7,
466 u64_int_type = 8,
467 float_type = 9,
468 double_type = 10,
469 bool_type = 11,
470 class_type = 12,
471 object_type = 13,
472 date_type = 14,
473 time_type = 15,
474 string_type = 16,
475 list_type = 17,
476 uid_type = 18,
477 uid2_type = 19,
478 enum_type = 20
479 } type;
enum dunedaq::oks::OksData::Type type

Constructor & Destructor Documentation

◆ OksData() [1/36]

dunedaq::oks::OksData::OksData ( )
inline

Definition at line 510 of file object.hpp.

510{Clear2();}

◆ OksData() [2/36]

dunedaq::oks::OksData::OksData ( int8_t c)
inline

Definition at line 511 of file object.hpp.

511{Clear2(); Set(c);}
void Set(int8_t c)
Definition object.hpp:543

◆ OksData() [3/36]

dunedaq::oks::OksData::OksData ( uint8_t c)
inline

Definition at line 512 of file object.hpp.

512{Clear2(); Set(c);}

◆ OksData() [4/36]

dunedaq::oks::OksData::OksData ( int16_t i)
inline

Definition at line 513 of file object.hpp.

513{Clear2(); Set(i);}

◆ OksData() [5/36]

dunedaq::oks::OksData::OksData ( uint16_t i)
inline

Definition at line 514 of file object.hpp.

514{Clear2(); Set(i);}

◆ OksData() [6/36]

dunedaq::oks::OksData::OksData ( int32_t i)
inline

Definition at line 515 of file object.hpp.

515{Clear2(); Set(i);}

◆ OksData() [7/36]

dunedaq::oks::OksData::OksData ( uint32_t i)
inline

Definition at line 516 of file object.hpp.

516{Clear2(); Set(i);}

◆ OksData() [8/36]

dunedaq::oks::OksData::OksData ( int64_t i)
inline

Definition at line 517 of file object.hpp.

517{Clear2(); Set(i);}

◆ OksData() [9/36]

dunedaq::oks::OksData::OksData ( uint64_t i)
inline

Definition at line 518 of file object.hpp.

518{Clear2(); Set(i);}

◆ OksData() [10/36]

dunedaq::oks::OksData::OksData ( const float & f)
inline

Definition at line 519 of file object.hpp.

519{Clear2(); Set(f);}

◆ OksData() [11/36]

dunedaq::oks::OksData::OksData ( const double & d)
inline

Definition at line 520 of file object.hpp.

520{Clear2(); Set(d);}

◆ OksData() [12/36]

dunedaq::oks::OksData::OksData ( bool b)
inline

Definition at line 521 of file object.hpp.

521{Clear2(); Set(b);}

◆ OksData() [13/36]

dunedaq::oks::OksData::OksData ( boost::gregorian::date d)
inline

Definition at line 522 of file object.hpp.

522{Clear2(); Set(d);}

◆ OksData() [14/36]

dunedaq::oks::OksData::OksData ( boost::posix_time::ptime t)
inline

Definition at line 523 of file object.hpp.

523{Clear2(); Set(t);}

◆ OksData() [15/36]

dunedaq::oks::OksData::OksData ( OksString * s)
inline

Definition at line 524 of file object.hpp.

524{Clear2(); Set(s);}

◆ OksData() [16/36]

dunedaq::oks::OksData::OksData ( const char * s)
inline

Definition at line 525 of file object.hpp.

525{Clear2(); Set(s);}

◆ OksData() [17/36]

dunedaq::oks::OksData::OksData ( const std::string & s)
inline

Definition at line 526 of file object.hpp.

526{Clear2(); Set(s);}

◆ OksData() [18/36]

dunedaq::oks::OksData::OksData ( const OksString & s)
inline

Definition at line 527 of file object.hpp.

527{Clear2(); Set(s);}

◆ OksData() [19/36]

dunedaq::oks::OksData::OksData ( const char * s,
size_t len,
const OksAttribute * a )
inline

Definition at line 528 of file object.hpp.

528{Clear2(); SetE(s,len,a);}
void SetE(OksString *s, const OksAttribute *a)

◆ OksData() [20/36]

dunedaq::oks::OksData::OksData ( const std::string & s,
const OksAttribute * a )
inline

Definition at line 529 of file object.hpp.

529{Clear2(); SetE(s,a);}

◆ OksData() [21/36]

dunedaq::oks::OksData::OksData ( const OksString & s,
const OksAttribute * a )
inline

Definition at line 530 of file object.hpp.

530{Clear2(); SetE(s,a);}

◆ OksData() [22/36]

dunedaq::oks::OksData::OksData ( const OksClass * c)
inline

Definition at line 531 of file object.hpp.

531{Clear2(); Set(c);}

◆ OksData() [23/36]

dunedaq::oks::OksData::OksData ( List * l)
inline

Definition at line 532 of file object.hpp.

532{Clear2(); Set(l);}

◆ OksData() [24/36]

dunedaq::oks::OksData::OksData ( OksObject * o)
inline

Definition at line 533 of file object.hpp.

533{Clear2(); Set(o);}

◆ OksData() [25/36]

dunedaq::oks::OksData::OksData ( const OksClass * c,
const char * o )
inline

Definition at line 534 of file object.hpp.

534{Clear(); Set(c, o);}

◆ OksData() [26/36]

dunedaq::oks::OksData::OksData ( const OksClass * c,
const OksString & o )
inline

Definition at line 535 of file object.hpp.

535{Clear(); Set(c, o);}

◆ OksData() [27/36]

dunedaq::oks::OksData::OksData ( const std::string & c,
const std::string & o )
inline

Definition at line 536 of file object.hpp.

536{Clear2(); Set(c, o);}

◆ ~OksData()

dunedaq::oks::OksData::~OksData ( )
inline

Definition at line 538 of file object.hpp.

538{Clear();}

◆ OksData() [28/36]

dunedaq::oks::OksData::OksData ( const OksData & d)
inline

Definition at line 682 of file object.hpp.

683 {
684 if(&d != this) {
685 copy(d);
686 }
687 }
void copy(const OksData &)

◆ OksData() [29/36]

dunedaq::oks::OksData::OksData ( const oks::ReadFileParams & params,
const OksAttribute * a,
int32_t n )
inlineprivate

Definition at line 727 of file object.hpp.

727{Clear2(); read(params, a, n);}
void read(const oks::ReadFileParams &, const OksAttribute *, int32_t)
private methods which can be used by OksObject class only

◆ OksData() [30/36]

dunedaq::oks::OksData::OksData ( const oks::ReadFileParams & params,
const OksAttribute * a )
inlineprivate

Definition at line 728 of file object.hpp.

728{Clear2(); read(params, a);}

◆ OksData() [31/36]

dunedaq::oks::OksData::OksData ( const OksAttribute * a,
const OksXmlValue & value )
inlineprivate

Definition at line 729 of file object.hpp.

729{Clear2(); read(a, value);}

◆ OksData() [32/36]

dunedaq::oks::OksData::OksData ( const OksAttribute * a,
const oks::ReadFileParams & params )
inlineprivate

Definition at line 730 of file object.hpp.

730{Clear2(); read(a, params);}

◆ OksData() [33/36]

dunedaq::oks::OksData::OksData ( const oks::ReadFileParams & params,
const OksRelationship * r,
int32_t n )
inlineprivate

Definition at line 732 of file object.hpp.

732{Clear2(); read(params, r, n);}

◆ OksData() [34/36]

dunedaq::oks::OksData::OksData ( const oks::ReadFileParams & params,
const OksRelationship * r )
inlineprivate

Definition at line 733 of file object.hpp.

733{Clear2(); read(params, r);}

◆ OksData() [35/36]

dunedaq::oks::OksData::OksData ( const OksRelationship * r,
const OksXmlRelValue & value )
inlineprivate

Definition at line 734 of file object.hpp.

734{Clear2(); read(r, value);}

◆ OksData() [36/36]

dunedaq::oks::OksData::OksData ( const OksRelationship * r,
const oks::ReadFileParams & params )
inlineprivate

Definition at line 735 of file object.hpp.

735{Clear2(); read(r, params);}

Member Function Documentation

◆ __cn()

const std::string & dunedaq::oks::OksData::__cn ( ) const
private

◆ __oid()

const std::string & dunedaq::oks::OksData::__oid ( ) const
private

◆ check_range()

void dunedaq::oks::OksData::check_range ( const OksAttribute * a) const

Check range of data.

The method checks that the data matches to the range. If the data is out of range, the oks::AttributeRangeError exception is thrown. If definition of range is bad, then the oks::AttributeReadError exception is thrown.

Parameters
aattribute defining the range (UML syntax, e.g. "A,B,C" or "1..10" or "*..99")
Exceptions
oks::AttributeRangeErroror oks::AttributeReadError is thrown in case of problems.

◆ Clear()

void dunedaq::oks::OksData::Clear ( )

◆ Clear2()

void dunedaq::oks::OksData::Clear2 ( )
inline

Definition at line 541 of file object.hpp.

541{type = unknown_type;}

◆ ConvertTo()

void dunedaq::oks::OksData::ConvertTo ( OksData * ,
const OksRelationship *  ) const

◆ copy()

void dunedaq::oks::OksData::copy ( const OksData & )
private

◆ cvt()

void dunedaq::oks::OksData::cvt ( OksData * to,
const OksAttribute * attr ) const

Convert data to new type.

The method converts this data to the new data using type defined by attribute parameter. A single-value can be converted to multi-value conta4ining this single item. A multi-value can be converted to single-value using first item from the multi-value.

If data cannot be converted, then the oks::AttributeReadError exception is thrown.

Parameters
toout parameter (new data containing converted value)
attrpointer to OKS kernel (required to read class_type values)
Exceptions
oks::AttributeReadErroris thrown in case of problems.

◆ date()

boost::gregorian::date dunedaq::oks::OksData::date ( ) const
noexcept

◆ is_g()

bool dunedaq::oks::OksData::is_g ( const OksData & ) const
privatenoexcept

◆ is_ge()

bool dunedaq::oks::OksData::is_ge ( const OksData & ) const
privatenoexcept

◆ is_l()

bool dunedaq::oks::OksData::is_l ( const OksData & ) const
privatenoexcept

◆ is_le()

bool dunedaq::oks::OksData::is_le ( const OksData & ) const
privatenoexcept

◆ is_object()

static bool dunedaq::oks::OksData::is_object ( Type t)
inlinestatic

Definition at line 701 of file object.hpp.

702 {
703 return (t == object_type || t == uid_type || t == uid2_type);
704 }

◆ IsConsistent()

bool dunedaq::oks::OksData::IsConsistent ( const OksRelationship * r,
const OksObject * o,
const char * msg )
private

◆ operator delete()

void dunedaq::oks::OksData::operator delete ( void * ptr)
inline

Definition at line 697 of file object.hpp.

697{boost::fast_pool_allocator<OksData>::deallocate(reinterpret_cast<OksData*>(ptr));}

◆ operator new()

void * dunedaq::oks::OksData::operator new ( size_t )
inline

Definition at line 696 of file object.hpp.

696{return boost::fast_pool_allocator<OksData>::allocate();}

◆ operator!=()

bool dunedaq::oks::OksData::operator!= ( const OksData & ) const

◆ operator<()

bool dunedaq::oks::OksData::operator< ( const OksData & ) const

◆ operator<=()

bool dunedaq::oks::OksData::operator<= ( const OksData & ) const

◆ operator=()

OksData & dunedaq::oks::OksData::operator= ( const OksData & d)
inline

Definition at line 672 of file object.hpp.

673 {
674 if(&d != this) {
675 Clear();
676 copy(d);
677 }
678
679 return *this;
680 }

◆ operator==()

bool dunedaq::oks::OksData::operator== ( const OksData & ) const

◆ operator>()

bool dunedaq::oks::OksData::operator> ( const OksData & ) const

◆ operator>=()

bool dunedaq::oks::OksData::operator>= ( const OksData & ) const

◆ read() [1/8]

void dunedaq::oks::OksData::read ( const oks::ReadFileParams & ,
const OksAttribute *  )
private

◆ read() [2/8]

void dunedaq::oks::OksData::read ( const oks::ReadFileParams & ,
const OksAttribute * ,
int32_t  )
private

private methods which can be used by OksObject class only

◆ read() [3/8]

void dunedaq::oks::OksData::read ( const oks::ReadFileParams & ,
const OksRelationship *  )
private

◆ read() [4/8]

void dunedaq::oks::OksData::read ( const oks::ReadFileParams & ,
const OksRelationship * ,
int32_t  )
private

◆ read() [5/8]

void dunedaq::oks::OksData::read ( const OksAttribute * ,
const oks::ReadFileParams &  )
private

◆ read() [6/8]

void dunedaq::oks::OksData::read ( const OksAttribute * ,
const OksXmlValue &  )
private

◆ read() [7/8]

void dunedaq::oks::OksData::read ( const OksRelationship * ,
const oks::ReadFileParams &  )
private

◆ read() [8/8]

void dunedaq::oks::OksData::read ( const OksRelationship * ,
const OksXmlRelValue &  )
private

◆ ReadFrom() [1/3]

void dunedaq::oks::OksData::ReadFrom ( const char * s,
Type t,
const OksAttribute * a )
inline

Read from string using non multi-value type

Exceptions
oks::AttributeReadErroris thrown in case of problems.

Definition at line 747 of file object.hpp.

748{
749 Clear();
750 type = t;
751 SetValue(s, a);
752}
void SetValue(const char *s, const OksAttribute *a)

◆ ReadFrom() [2/3]

void dunedaq::oks::OksData::ReadFrom ( const OksRelationship * )
noexcept

Create emtpy list or empty uid2

◆ ReadFrom() [3/3]

void dunedaq::oks::OksData::ReadFrom ( const std::string & s,
const OksAttribute * a )
inline

Read from string using non multi-value type

Exceptions
oks::AttributeReadErroris thrown in case of problems.

Definition at line 705 of file attribute.hpp.

706{
707 if (type == OksData::string_type)
708 data.STRING = new OksString(s);
709 else if (type == OksData::enum_type)
710 data.ENUMERATION = a->get_enum_value(s);
711 else
712 SetValue(s.c_str(), a);
713}
union dunedaq::oks::OksData::Data data
const std::string * ENUMERATION
Definition object.hpp:507

◆ Set() [1/24]

void dunedaq::oks::OksData::Set ( bool b)
inline

Definition at line 553 of file object.hpp.

553{Clear(); type = bool_type; data.BOOL = b;}

◆ Set() [2/24]

void dunedaq::oks::OksData::Set ( boost::gregorian::date d)
inline

Definition at line 556 of file object.hpp.

556{Clear(); type = date_type; SetFast(d);}
void SetFast(boost::gregorian::date d)

◆ Set() [3/24]

void dunedaq::oks::OksData::Set ( boost::posix_time::ptime t)
inline

Definition at line 557 of file object.hpp.

557{Clear(); type = time_type; SetFast(t);}

◆ Set() [4/24]

void dunedaq::oks::OksData::Set ( const char * s)
inline

Definition at line 559 of file object.hpp.

559{Clear(); type = string_type; data.STRING = new OksString(s);}

◆ Set() [5/24]

void dunedaq::oks::OksData::Set ( const double & d)
inline

Definition at line 552 of file object.hpp.

◆ Set() [6/24]

void dunedaq::oks::OksData::Set ( const float & f)
inline

Definition at line 551 of file object.hpp.

◆ Set() [7/24]

void dunedaq::oks::OksData::Set ( const OksClass * c)
inline

Definition at line 562 of file object.hpp.

◆ Set() [8/24]

void dunedaq::oks::OksData::Set ( const OksClass * c,
const OksString & s )
inline

Definition at line 570 of file object.hpp.

570{Clear(); type = uid_type; data.UID.class_id = c; data.UID.object_id = new OksString(s);}
struct dunedaq::oks::OksData::Data::@165 UID

◆ Set() [9/24]

void dunedaq::oks::OksData::Set ( const OksClass * c,
OksString * s )
inline

Definition at line 571 of file object.hpp.

571{Clear(); type = uid_type; data.UID.class_id = c; data.UID.object_id = s;}

◆ Set() [10/24]

void dunedaq::oks::OksData::Set ( const OksString & c,
const OksString & s )
inline

Definition at line 572 of file object.hpp.

572{Clear(); type = uid2_type; data.UID2.class_id = new OksString(c); data.UID2.object_id = new OksString(s);}
struct dunedaq::oks::OksData::Data::@166 UID2

◆ Set() [11/24]

void dunedaq::oks::OksData::Set ( const OksString & s)
inline

Definition at line 561 of file object.hpp.

561{Clear(); type = string_type; data.STRING = new OksString(s);}

◆ Set() [12/24]

void dunedaq::oks::OksData::Set ( const std::string & s)
inline

Definition at line 560 of file object.hpp.

560{Clear(); type = string_type; data.STRING = new OksString(s);}

◆ Set() [13/24]

void dunedaq::oks::OksData::Set ( int16_t i)
inline

Definition at line 545 of file object.hpp.

545{Clear(); type = s16_int_type; data.S16_INT = i;}

◆ Set() [14/24]

void dunedaq::oks::OksData::Set ( int32_t i)
inline

Definition at line 547 of file object.hpp.

547{Clear(); type = s32_int_type; data.S32_INT = i;}

◆ Set() [15/24]

void dunedaq::oks::OksData::Set ( int64_t i)
inline

Definition at line 549 of file object.hpp.

549{Clear(); type = s64_int_type; data.S64_INT = i;}

◆ Set() [16/24]

void dunedaq::oks::OksData::Set ( int8_t c)
inline

Definition at line 543 of file object.hpp.

◆ Set() [17/24]

void dunedaq::oks::OksData::Set ( List * l)
inline

Definition at line 568 of file object.hpp.

◆ Set() [18/24]

void dunedaq::oks::OksData::Set ( OksObject * o)
inline

Definition at line 569 of file object.hpp.

569{Clear(); type = object_type; data.OBJECT = o;}

◆ Set() [19/24]

void dunedaq::oks::OksData::Set ( OksString * c,
OksString * s )
inline

Definition at line 573 of file object.hpp.

573{Clear(); type = uid2_type; data.UID2.class_id = c; data.UID2.object_id = s;}

◆ Set() [20/24]

void dunedaq::oks::OksData::Set ( OksString * s)
inline

Definition at line 558 of file object.hpp.

558{Clear(); type = string_type; data.STRING = s;}

◆ Set() [21/24]

void dunedaq::oks::OksData::Set ( uint16_t i)
inline

Definition at line 546 of file object.hpp.

546{Clear(); type = u16_int_type; data.U16_INT = i;}

◆ Set() [22/24]

void dunedaq::oks::OksData::Set ( uint32_t i)
inline

Definition at line 548 of file object.hpp.

548{Clear(); type = u32_int_type; data.U32_INT = i;}

◆ Set() [23/24]

void dunedaq::oks::OksData::Set ( uint64_t i)
inline

Definition at line 550 of file object.hpp.

550{Clear(); type = u64_int_type; data.U64_INT = i;}

◆ Set() [24/24]

void dunedaq::oks::OksData::Set ( uint8_t c)
inline

Definition at line 544 of file object.hpp.

544{Clear(); type = u8_int_type; data.U8_INT = c;}

◆ set_init_value()

void dunedaq::oks::OksData::set_init_value ( const OksAttribute * attr,
bool skip_init )

Set value defined by initial value of attribute.

The method checks that the data matches to the range. If the data is out of range, the oks::AttributeRangeError exception is thrown. If definition of range is bad, then the oks::AttributeReadError exception is thrown.

Parameters
attrthe attribute
kernelpointer to OKS kernel (required to read class_type values)
skip_initonly required by OksObject::init2() method for optimization
Exceptions
oks::AttributeReadErroris thrown in case of problems.

Definition at line 242 of file object.cpp.

243{
244 bool si = (a->get_init_value().empty() || skip_init);
245
246 if(a->get_is_multi_values() == false) {
247 type = a->get_data_type();
248 if(si) {
249 SetNullValue(a);
250 }
251 else {
252 if(type == OksData::string_type) {
253 data.STRING = new OksString(a->get_init_value());
254 }
255 else if(type == OksData::enum_type) {
256 data.ENUMERATION = a->get_enum_value(a->get_init_value());
257 }
258 else {
259 SetValue(a->get_init_value().c_str(), a);
260 }
261 }
262 }
263 else {
264 if(si) {
265 SetValues("", a);
266 }
267 else {
268 SetValues(a->get_init_value().c_str(), a);
269 }
270 }
271}
void SetNullValue(const OksAttribute *a)
void SetValues(const char *, const OksAttribute *a)

◆ SetE() [1/5]

void dunedaq::oks::OksData::SetE ( const char * s,
size_t len,
const OksAttribute * a )
inline

Definition at line 671 of file attribute.hpp.

672{
673 Clear();
674 type = enum_type;
675 data.ENUMERATION = a->get_enum_value(s, len);
676}

◆ SetE() [2/5]

void dunedaq::oks::OksData::SetE ( const OksAttribute * a)
inline

Definition at line 687 of file attribute.hpp.

688{
689 Clear();
690 type = enum_type;
691 data.ENUMERATION = &((*(a->p_enumerators))[0]);
692}

◆ SetE() [3/5]

void dunedaq::oks::OksData::SetE ( const OksString & s,
const OksAttribute * a )
inline

Definition at line 695 of file attribute.hpp.

696{
697 Clear();
698 type = enum_type;
699 data.ENUMERATION = a->get_enum_value(s);
700}

◆ SetE() [4/5]

void dunedaq::oks::OksData::SetE ( const std::string & s,
const OksAttribute * a )
inline

Definition at line 679 of file attribute.hpp.

680{
681 Clear();
682 type = enum_type;
683 data.ENUMERATION = a->get_enum_value(s);
684}

◆ SetE() [5/5]

void dunedaq::oks::OksData::SetE ( OksString * s,
const OksAttribute * a )
inline

◆ SetFast() [1/2]

void dunedaq::oks::OksData::SetFast ( boost::gregorian::date d)

◆ SetFast() [2/2]

void dunedaq::oks::OksData::SetFast ( boost::posix_time::ptime t)

◆ SetNullValue()

void dunedaq::oks::OksData::SetNullValue ( const OksAttribute * a)

Read from null string (single-value)

Exceptions
oks::AttributeReadErroris thrown in case of problems.

◆ SetValue()

void dunedaq::oks::OksData::SetValue ( const char * s,
const OksAttribute * a )

Read from string (single-value)

Exceptions
oks::AttributeReadErroris thrown in case of problems.

◆ SetValues()

void dunedaq::oks::OksData::SetValues ( const char * ,
const OksAttribute * a )

Read from string (any type)

Exceptions
oks::AttributeReadErroris thrown in case of problems.

◆ sort()

void dunedaq::oks::OksData::sort ( bool ascending = true)

◆ str() [1/2]

std::string dunedaq::oks::OksData::str ( const OksKernel * ) const

◆ str() [2/2]

std::string dunedaq::oks::OksData::str ( int base = 0) const

◆ time()

boost::posix_time::ptime dunedaq::oks::OksData::time ( ) const
noexcept

◆ WriteTo() [1/3]

void dunedaq::oks::OksData::WriteTo ( OksXmlOutputStream & ) const

◆ WriteTo() [2/3]

void dunedaq::oks::OksData::WriteTo ( OksXmlOutputStream & ,
bool  ) const

◆ WriteTo() [3/3]

void dunedaq::oks::OksData::WriteTo ( OksXmlOutputStream & ,
OksKernel * ,
OksAliasTable * ,
bool ,
bool  ) const
private

Friends And Related Symbol Documentation

◆ OksKernel

friend class OksKernel
friend

Definition at line 451 of file object.hpp.

◆ OksObject

friend class OksObject
friend

Definition at line 450 of file object.hpp.

◆ operator<<

std::ostream & operator<< ( std::ostream & ,
const OksData &  )
friend

Member Data Documentation

◆ data

union dunedaq::oks::OksData::Data dunedaq::oks::OksData::data

◆ type

enum dunedaq::oks::OksData::Type dunedaq::oks::OksData::type

The documentation for this struct was generated from the following files: