21 #include <smart_ptr.h> 22 #include <global_macros.h> 24 #ifndef _libint2_src_bin_libint_traits_h_ 25 #define _libint2_src_bin_libint_traits_h_ 31 typedef SafePtr<T> StorageType;
32 enum { StoredAsPtr =
true };
33 static const T& const_ref(
const StorageType& s) {
return *s; };
40 enum { StoredAsPtr =
false };
41 static const CGShell& const_ref(
const StorageType& s) {
return s; };
47 enum { StoredAsPtr =
false };
48 static const CGF& const_ref(
const StorageType& s) {
return s; };
51 template <CartesianAxis Axis>
54 enum { StoredAsPtr =
false };
55 static const CGShell1d<Axis>& const_ref(
const StorageType& s) {
return s; };
58 template <CartesianAxis Axis>
61 enum { StoredAsPtr =
false };
62 static const CGF1d<Axis>& const_ref(
const StorageType& s) {
return s; };
69 template <
typename Ref,
typename Base>
71 typedef const Base& result;
73 template <
typename Ref,
typename Base>
75 typedef SafePtr<Base> result;
StorageTraits< T >::StorageType StorageType
By default, use SafePtr to manage these objects.
Definition: traits.h:83
Cartesian components of 3D CGF = 1D CGF.
Definition: bfset.h:425
3D Cartesian Gaussian Shell
Definition: bfset.h:231
Converts Base to a type of the same signature as Ref. For example, if Ref is SafePtr<T> then Base is ...
Definition: traits.h:70
Defaults definitions for various parameters assumed by Libint.
Definition: algebra.cc:23
a "shell" of 1D CGFs with quantum number L is a set of 1D CGFs with quantum numbers 0 ...
Definition: bfset.h:614
static const T & const_ref(const StorageType &s)
Convert an object of StorageType to const T&.
Definition: traits.h:87
3D Cartesian Gaussian Function
Definition: bfset.h:320