SG Namespace Reference

Constructor from a payload object. More...

Classes

class  AuxElement
 Base class for elements of a container that can have aux data. More...
class  AuxElementComplete
 Wrapper to automatically create a private store for an element. More...
class  AuxStoreInternal
 An auxiliary data store that holds data internally. More...
class  AuxStoreStandalone
 Auxiliary data store for standalone objects. More...
class  AuxTypeRegistry
 Handle mappings between names and auxid_t. More...
class  AuxVectorBase
 Manage index tracking and synchronization of auxiliary data. More...
class  AuxVectorData
 Manage lookup of vectors of auxiliary data. More...
class  DVLConstDataListBucket
 DataBucket class for ConstDataList. More...
struct  DataBucketTrait< ConstDataList< T >, U >
 Metafunction to find the proper DataBucket class for the first template argument. More...
class  BaseInfo< ConstDataList< T > >
 Let the BaseInfo for ConstDataList forward to that of the base DataList. More...
class  DVLConstDataVectorBucket
 DataBucket class for ConstDataVector. More...
struct  DataBucketTrait< ConstDataVector< DV >, U >
 Metafunction to find the proper DataBucket class for the first template argument. More...
class  BaseInfo< ConstDataVector< DV > >
 Let the BaseInfo for ConstDataVector forward to that of the base DataVector. More...
struct  DataBucketTrait< DataList< T >, U >
 Metafunction to find the proper DataBucket class for T. More...
struct  DataBucketTrait< DataVector< T >, U >
 Metafunction to find the proper DataBucket class for T. More...
class  ExcNoAuxStore
 Exception --- Aux data requested from object with no store. More...
class  ExcBadAuxVar
 Exception --- Attempt to retrieve nonexistent aux data item. More...
class  ExcConstAuxData
 Exception --- Non-const operation performed on const aux data. More...
class  ExcUntrackedSetStore
 Exception --- Attempt to set aux data store on container that doesn't track indices, or disable index tracking for a container with aux data. More...
class  ExcBadPrivateStore
 Exception --- Bad use of private store. More...
class  ExcAuxTypeMismatch
 Exception --- Type mismatch for aux variable. More...
class  ExcInsertionInBaseClass
 Exception --- Attempted to do OP on a BASE base class of COMPLETE; can only be done on the most-derived class. More...
class  ExcStoreLocked
 Exception --- Attempted to modify auxiliary data in a locked store. More...
class  ExcNonowningContainer
 Exception --- Attempted to insert a unique_ptr to a non-owning container. More...
class  ExcUnknownAuxItem
 Exception --- Unknown aux data item. More...
class  PackedContainer
 Container to hold aux data to be stored in a packed form. More...
struct  inner_type
 Metafunction to extract the innermost element type from a nested vector type. More...
struct  inner_type< std::vector< T > >
class  PackedConverter
 Helper for packing/unpacking a PackedContainer to/from a stream. More...
class  PackedParameters
 Describe how the contents of a PackedContainer are to be saved. More...
class  AuxDataTraits
 Allow customizing how aux data types are treated. More...
class  AuxDataTraits< bool >
 Allow customizing how aux data types are treated. More...
class  AuxTypeVector
 Implementation of IAuxTypeVector for specific types. More...
class  AuxTypeVectorFactory
 Factory objects that creates vectors using AuxTypeVector. More...
class  DVLDataBucket
 A DataBucket specialized for DataVector/DataList. More...
class  IsMostDerivedFlag
 Holder for the is-most-derived flag. More...
class  AuxElementData
 Internal data container. More...
class  AuxElementPrivateData
 Internal data container for private store. More...
class  AuxElementStandaloneData
 Internal data container for standalone store. More...
class  PackedContainerStreamer
 Streamer for reading/writing SG::PackedContainer instances. More...
class  AuxDataOption
 Hold information about an option setting request. More...
class  NoAuxStore
 Mark that there's no associated AuxStore class. More...
struct  AuxStore_traits_AuxDefault
 Default traits values for aux data case. More...
struct  AuxStore_traits_NoAuxDefault
 Default traits values for no-aux data case. More...
struct  AuxStore_traits1
struct  AuxStore_traits1< DOBJ, typename SG_STD_OR_BOOST::is_base_of< IAuxElement, typename DOBJ::base_value_type >::type >
struct  AuxStore_traits
 Associate AuxStore classes with EDM container classes (default implementation). More...
struct  AuxStore_traits< DOBJ * >
 Associate AuxStore classes with EDM container classes. This specialization allows using pointer types directly as an argument. More...
class  AuxTypePlaceholder
class  IAuxElement
 Flag that a class may have auxiliary data associated with it. More...
class  IAuxSetOption
 Abstract interface for setting a option on a aux data container. More...
class  IAuxStore
 Interface for non-const operations on an auxiliary store. More...
class  IAuxStoreHolder
 Interface for objects taking part in direct ROOT I/O. More...
class  IAuxStoreIO
 Interface providing I/O for a generic auxiliary store. More...
class  IAuxTypeVector
 Abstract interface for manipulating vectors of arbitrary types. More...
class  IAuxTypeVectorFactory
 Interface for factory objects that create vectors. More...
class  IConstAuxStore
 Interface for const operations on an auxiliary store. More...
struct  hash< T * >
struct  Fnv_hash
struct  Fnv_hash< 4 >
struct  Fnv_hash< 8 >
struct  hash< std::string >
struct  hash< float >
struct  hash< double >
struct  hash< long double >
class  hashtable
class  unordered_map
class  unordered_multimap
class  unordered_set
class  unordered_multiset

Typedefs

typedef size_t auxid_t
 Identifier for a particular aux data item.
typedef SG::unordered_set< size_t > auxid_set_t
 A set of aux data identifiers.

Enumerations

enum  IndexTrackingPolicy { DEFAULT_TRACK_INDICES, ALWAYS_TRACK_INDICES, NEVER_TRACK_INDICES }
enum  OwnershipPolicy { OWN_ELEMENTS, VIEW_ELEMENTS }
 

describes the possible element ownership policies (see e.g. DataVector)

More...

Functions

 ATH_NORETURN (void throwExcNonowningContainer())
 Throw a SG::ExcNonowningContainer exception.
 ATH_NORETURN (void throwExcUnknownAuxItem(const std::string &name, const std::string &clsname="", const std::type_info *typ=0))
 Throw a SG::ExcUnknownAuxItem exception.
std::string normalizedTypeinfoName (const std::type_info &info)
 Convert a type_info to a normalized string representation (matching the names used in the root dictionary).
void copyAuxStoreThinned (const SG::IConstAuxStore &orig, SG::IAuxStore &copy, IThinningSvc *svc)
 Helper to copy an aux store while applying thinning.
template<class CONTAINER >
CONTAINER * copyThinned (const CONTAINER &orig, IThinningSvc *svc)
 Helper to copy an object while applying thinning.
template<class CONTAINER >
CONTAINER * copyThinned1 (const CONTAINER &orig, const void *dummy, IThinningSvc *svc)
 Helper to copy an object while applying thinning.
template<class CONTAINER >
CONTAINER * copyThinned1 (const CONTAINER &orig, const DataVector< typename CONTAINER::base_value_type > *dummy, IThinningSvc *svc)
 Helper to copy an object while applying thinning.
template<class CONTAINER >
CONTAINER * copyThinned1 (const CONTAINER &orig, const SG::IAuxStore *dummy, IThinningSvc *svc)
 Helper to copy an object while applying thinning.
template<class CONTAINER >
bool getThinnedFlags (IThinningSvc *svc, const CONTAINER &container, size_t &nremaining, std::vector< unsigned char > &flags)
 Return vector of flags giving which container elements were thinned.
bool getThinnedFlags1 (IThinningSvc *svc, const void *container, size_t size, size_t &nremaining, std::vector< unsigned char > &flags)
 Return vector of flags giving which container elements were thinned.
void writePackedParameters (TBuffer &b, const SG::PackedParameters &parms)
 Write a set of packed parameters to a buffer.
SG::PackedParameters readPackedParameters (TBuffer &b)
 Read a set of packed parameters from a buffer.
std::string excFormatName (SG::auxid_t auxid)
 Helper: format an aux data item name.
std::string excNoAuxStore_format (SG::auxid_t auxid)
 Helper: format exception error string.
std::string excNoAuxStore_format (const char *op)
 Helper: format exception error string.
std::string excBadAuxVar_format (SG::auxid_t auxid)
 Helper: format exception error string.
std::string excConstAuxData_format (const std::string &op, SG::auxid_t auxid)
 Helper: format exception error string.
std::string excAuxTypeMismatch_format (SG::auxid_t auxid, const std::type_info &new_type, const std::type_info &old_type)
 Helper: format exception error string.
std::string excInsertionInBaseClass_format (const char *op, const std::type_info &base_type, const std::type_info &complete_type)
 Helper: format exception error string.
std::string excStoreLocked_format (SG::auxid_t auxid)
 Helper: format exception error string.
std::string excStoreLocked_format (const char *op)
 Helper: format exception error string.
void throwExcNonowningContainer ()
 Throw a SG::ExcNonowningContainer exception.
std::string excUnknownAuxItem_format (const std::string &name, const std::string &clsname, const std::type_info *typ)
 Helper: format exception error string.
void throwExcUnknownAuxItem (const std::string &name, const std::string &clsname, const std::type_info *typ)
 Throw a SG::ExcNonowningContainer exception.
 tr1_hashtable_define_trivial_hash (bool)
 tr1_hashtable_define_trivial_hash (char)
 tr1_hashtable_define_trivial_hash (signed char)
 tr1_hashtable_define_trivial_hash (unsigned char)
 tr1_hashtable_define_trivial_hash (wchar_t)
 tr1_hashtable_define_trivial_hash (short)
 tr1_hashtable_define_trivial_hash (int)
 tr1_hashtable_define_trivial_hash (long)
template<class Key , class T , class Hash , class Pred , class Alloc , bool cache_hash_code>
void swap (unordered_map< Key, T, Hash, Pred, Alloc, cache_hash_code > &x, unordered_map< Key, T, Hash, Pred, Alloc, cache_hash_code > &y)
template<class Key , class T , class Hash , class Pred , class Alloc , bool cache_hash_code>
void swap (unordered_multimap< Key, T, Hash, Pred, Alloc, cache_hash_code > &x, unordered_multimap< Key, T, Hash, Pred, Alloc, cache_hash_code > &y)
template<class Value , class Hash , class Pred , class Alloc , bool cache_hash_code>
void swap (unordered_set< Value, Hash, Pred, Alloc, cache_hash_code > &x, unordered_set< Value, Hash, Pred, Alloc, cache_hash_code > &y)
template<class Value , class Hash , class Pred , class Alloc , bool cache_hash_code>
void swap (unordered_multiset< Value, Hash, Pred, Alloc, cache_hash_code > &x, unordered_multiset< Value, Hash, Pred, Alloc, cache_hash_code > &y)

Detailed Description

Constructor from a payload object.

Parameters:
data Object to hold in the bucket.

Namespace used by StoreGate for some of its internal structures/classes


Enumeration Type Documentation

Enumerator:
DEFAULT_TRACK_INDICES 

Default value. Set index tracking based on the ownership policy. If this container owns its elements, then track indices; otherwise do not.

ALWAYS_TRACK_INDICES 

Always track indices, regardless of the setting of the ownership policy.

NEVER_TRACK_INDICES 

Never track indices, regardless of the setting of the ownership policy.

describes the possible element ownership policies (see e.g. DataVector)

Author:
Paolo Calafiura <pcalafiura@lbl.gov> - ATLAS Collaboration
Id
OwnershipPolicy.h 581165 2014-02-03 10:42:54Z krasznaa
Enumerator:
OWN_ELEMENTS 

this data object owns its elements

VIEW_ELEMENTS 

this data object is a view, it does not own its elmts


Function Documentation

SG::ATH_NORETURN ( void   throwExcUnknownAuxItemconst std::string &name, const std::string &clsname="", const std::type_info *typ=0  ) 

Throw a SG::ExcUnknownAuxItem exception.

Parameters:
name Name of the aux data item.
clsname Class name of the aux data item, or an empty string.
typ Type of the item, if provided.
void SG::copyAuxStoreThinned ( const SG::IConstAuxStore orig,
SG::IAuxStore copy,
IThinningSvc *  svc 
)

Helper to copy an aux store while applying thinning.

Parameters:
orig Source aux store from which to coy.
copy Destination aux store to which to copy.
svc The thinning service.

orig and copy are both auxiliary store objects. The data from orig will be copied to copy, with individual elements removed according to thinning recorded for orig in svc.

template<class CONTAINER >
CONTAINER * SG::copyThinned ( const CONTAINER &  orig,
IThinningSvc *  svc 
) [inline]

Helper to copy an object while applying thinning.

Parameters:
orig The object to copy.
svc The thinning service.

Returns a new copy of orig with elements removed according to the thinning defined in svc. Ownership of the new object is passed back to the caller.

The code here handles DataVector and IAuxStore objects. Support for additional object types may be added by adding overloads for copyThinned1.

Parameters:
orig The object to copy.
svc The thinning service.

Returns a new copy of orig with elements removed according to the thinning defined in svc. Ownership of the new object is passed back to the caller.

template<class CONTAINER >
CONTAINER * SG::copyThinned1 ( const CONTAINER &  orig,
const SG::IAuxStore dummy,
IThinningSvc *  svc 
) [inline]

Helper to copy an object while applying thinning.

Parameters:
orig The object to copy.
dummy Dummy argument for overload resolution.
svc The thinning service.

This overload handles IAuxStore types. It returns a new copy of the store, with any thinned elements removed.

template<class CONTAINER >
CONTAINER * SG::copyThinned1 ( const CONTAINER &  orig,
const DataVector< typename CONTAINER::base_value_type > *  dummy,
IThinningSvc *  svc 
) [inline]

Helper to copy an object while applying thinning.

Parameters:
orig The object to copy.
dummy Dummy argument for overload resolution.
svc The thinning service.

This overload handles DataVector types. It returns a view container copy of orig, from which any thinned elements are removed.

template<class CONTAINER >
CONTAINER * SG::copyThinned1 ( const CONTAINER &  orig,
const void *  dummy,
IThinningSvc *  svc 
) [inline]

Helper to copy an object while applying thinning.

Parameters:
orig The object to copy.
dummy Dummy argument for overload resolution.
svc The thinning service.

This is the generic version of copyThinned, which matches types for which there is not a more specific overload. It simply makes a copy of orig using the copy constructor.

template<class CONTAINER >
bool SG::getThinnedFlags ( IThinningSvc *  svc,
const CONTAINER &  container,
size_t &  nremaining,
std::vector< unsigned char > &  flags 
) [inline]

Return vector of flags giving which container elements were thinned.

Parameters:
svc The thinning service (or 0).
container The container for which to find thinning information.
nremaining[out] The number of elements in the container not thinned.
flags[out] Array telling which elements were thinned.

If no thinning is done on CONTAINER, then return false with nremaining equal to `container.size()`. flags may be empty in this case.

Otherwise, the container was thinned, and the function returns true. The size of flags will equal the container size; each element of flags is non-zero if the corresponding container element has been thinned. nremaining will be set to the count of elements that have _not_ been thinned.

bool SG::getThinnedFlags1 ( IThinningSvc *  svc,
const void *  container,
size_t  size,
size_t &  nremaining,
std::vector< unsigned char > &  flags 
)

Return vector of flags giving which container elements were thinned.

Parameters:
svc The thinning service (or 0).
container The container for which to find thinning information.
size Size of the container.
nremaining[out] The number of elements in the container not thinned.
flags[out] Array telling which elements were thinned.

This is and out-of-line helper for getThinnedFlags.

std::string SG::normalizedTypeinfoName ( const std::type_info &  info  ) 

Convert a type_info to a normalized string representation (matching the names used in the root dictionary).

Parameters:
info The type to convert.

The function `AthContainer_detailtypeinfoName` may be used to convert a C++ `type_info` to a string representing the name of the class; this handles platform-dependent details such as performing demangling.

However, the name you get as a result of this does not necessarily match the name by which the class is known in the ROOT dictionary. In particular, defaulted template arguments for STL containers and DataVector are suppressed in the dictionary. So, for example, for a vector class typeinfoName may produce `stdvector<int, std::allocator<T> >`, while in the dictionary it is known as `stdvector<int>`. Using normalizedTypeinfoName instead will transform the names to match what's in the dictionary. This function will also cache the typeinfo -> string conversions.

SG::PackedParameters SG::readPackedParameters ( TBuffer &  b  )  [inline]

Read a set of packed parameters from a buffer.

Parameters:
b Buffer from which to write.
void SG::throwExcUnknownAuxItem ( const std::string &  name,
const std::string &  clsname,
const std::type_info *  typ 
)

Throw a SG::ExcNonowningContainer exception.

Parameters:
name Name of the aux data item.
clsname Class name of the aux data item, or an empty string.
typ Type of the item, if provided.
void SG::writePackedParameters ( TBuffer &  b,
const SG::PackedParameters parms 
) [inline]

Write a set of packed parameters to a buffer.

Parameters:
b Buffer to which to write.
param Parameters to write.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 15 Apr 2017 for RootCore Packages by  doxygen 1.6.1