ATLAS Offline Software
Classes | Functions
ObjContainer.h File Reference
#include <vector>
#include <utility>
#include <limits>
#include <sstream>
#include <iostream>
#include <cassert>
#include <memory>
#include "CxxUtils/checker_macros.h"
Include dependency graph for ObjContainer.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  ObjContainer< T_Obj >
 Helper classes to manage shared objects in a scope. More...
 
class  ObjPtr< T_Obj >
 Pointer to objects managed by ObjContainer. More...
 
class  ObjRef
 Helper class to refer to objects in the container ObjContainer. More...
 
class  ObjContainerBase
 Object container base class. More...
 
class  ObjContainer< T_Obj >
 Helper classes to manage shared objects in a scope. More...
 
class  ObjPtr< T_Obj >
 Pointer to objects managed by ObjContainer. More...
 

Functions

template<class T_Obj >
T_Obj * cloneObj (const T_Obj *obj)
 Template to be specialised if object cloning is not handled by the copy operator of the container object class. More...
 
template<class T_Obj >
std::unique_ptr< T_Obj > uniqueClone (const T_Obj *obj)
 

Function Documentation

◆ cloneObj()

template<class T_Obj >
T_Obj* cloneObj ( const T_Obj *  obj)

Template to be specialised if object cloning is not handled by the copy operator of the container object class.

Definition at line 42 of file ObjContainer.h.

43 {
44  return (obj ? new T_Obj(*obj) : obj);
45 }

◆ uniqueClone()

template<class T_Obj >
std::unique_ptr<T_Obj> uniqueClone ( const T_Obj *  obj)

Definition at line 49 of file ObjContainer.h.

50 {
51  return std::unique_ptr<T_Obj>(cloneObj(obj));
52 }
cloneObj
T_Obj * cloneObj(const T_Obj *obj)
Template to be specialised if object cloning is not handled by the copy operator of the container obj...
Definition: ObjContainer.h:42
python.PyAthena.obj
obj
Definition: PyAthena.py:132