ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Database
APR
StorageSvc
StorageSvc
DbOption.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
//====================================================================
6
// DbOption class definitions
7
//--------------------------------------------------------------------
8
//
9
// Package : StorageSvc (The POOL project)
10
// @author M.Frank
11
//====================================================================
12
#ifndef POOL_DBOPTION_H
13
#define POOL_DBOPTION_H 1
14
15
// Framework include files
16
#include "
StorageSvc/DbColumn.h
"
17
#include "GaudiKernel/StatusCode.h"
18
19
/*
20
* POOL namespace declaration
21
*/
22
namespace
pool
{
23
36
class
DbOption
{
37
public
:
38
39
union
Value
{
40
long
long
int
val_long
;
41
int
val_int
;
42
double
val_double
;
43
void
*
val_pvoid
;
44
char
*
val_pchar
;
45
};
46
48
Value
m_value
{};
50
DbColumn::Type
m_type
;
52
std::string
m_name
;
54
std::string
m_opt
;
55
56
public
:
58
template
<
class
T>
DbOption
(
const
std::string& nam,
59
const
std::string& opt,
60
T value)
61
:
m_type
(
DbColumn
::UNKNOWN),
m_name
(nam),
m_opt
(opt)
62
{
i_setValue
(
typeid
(T), &value).ignore(); }
63
65
DbOption
(
const
std::string& nam,
const
std::string& opt=
""
)
66
:
m_type
(
DbColumn
::UNKNOWN),
m_name
(nam),
m_opt
(opt)
67
{ }
68
70
const
std::string&
option
()
const
{
return
m_opt
; }
72
const
std::string&
name
()
const
{
return
m_name
; }
74
DbColumn::Type
type
()
const
{
return
m_type
; }
75
77
template
<
class
T> StatusCode
setValue
(T value)
78
{
return
i_setValue
(
typeid
(T), &value); }
79
81
template
<
class
T> StatusCode
getValue
(T& value)
const
82
{
return
i_getValue
(
typeid
(T), &value); }
83
85
StatusCode
i_setValue
(
const
std::type_info& typ,
const
void
* value);
86
88
StatusCode
i_getValue
(
const
std::type_info& typ,
void
* value)
const
;
89
91
std::string
typeName
()
const
{
return
DbColumn::typeName
(
m_type
); }
92
};
93
}
// End namespace pool
94
#endif
// POOL_DbOption_H
DbColumn.h
pool::DbColumn
Description: Definition of the generic column in a (relational) Database.
Definition
DbColumn.h:34
pool::DbColumn::typeName
const std::string & typeName() const
Access to OS independent type name.
Definition
DbColumn.h:101
pool::DbColumn::Type
Type
Definition
DbColumn.h:43
pool::DbOption::m_name
std::string m_name
Option name identifier.
Definition
DbOption.h:52
pool::DbOption::m_value
Value m_value
Buffer holding option value.
Definition
DbOption.h:48
pool::DbOption::name
const std::string & name() const
Access to column name.
Definition
DbOption.h:72
pool::DbOption::i_setValue
StatusCode i_setValue(const std::type_info &typ, const void *value)
Set the option value.
pool::DbOption::i_getValue
StatusCode i_getValue(const std::type_info &typ, void *value) const
Read the option value.
pool::DbOption::getValue
StatusCode getValue(T &value) const
Read the option value.
Definition
DbOption.h:81
pool::DbOption::m_type
DbColumn::Type m_type
Option data type.
Definition
DbOption.h:50
pool::DbOption::typeName
std::string typeName() const
Access to OS independent type name.
Definition
DbOption.h:91
pool::DbOption::option
const std::string & option() const
Access to column name.
Definition
DbOption.h:70
pool::DbOption::m_opt
std::string m_opt
Optional identifier.
Definition
DbOption.h:54
pool::DbOption::type
DbColumn::Type type() const
Integer type identifier.
Definition
DbOption.h:74
pool::DbOption::setValue
StatusCode setValue(T value)
Set the option value.
Definition
DbOption.h:77
pool::DbOption::DbOption
DbOption(const std::string &nam, const std::string &opt="")
Initializing constructor with type definition.
Definition
DbOption.h:65
pool::DbOption::DbOption
DbOption(const std::string &nam, const std::string &opt, T value)
Initializing constructor.
Definition
DbOption.h:58
pool
Framework include files.
Definition
libname.h:15
pool::DbOption::Value
Definition
DbOption.h:39
pool::DbOption::Value::val_double
double val_double
Definition
DbOption.h:42
pool::DbOption::Value::val_long
long long int val_long
Definition
DbOption.h:40
pool::DbOption::Value::val_int
int val_int
Definition
DbOption.h:41
pool::DbOption::Value::val_pchar
char * val_pchar
Definition
DbOption.h:44
pool::DbOption::Value::val_pvoid
void * val_pvoid
Definition
DbOption.h:43
Generated on
for ATLAS Offline Software by
1.17.0