22#include <global_macros.h>
25#ifndef _libint2_src_bin_libint_traits_h_
26#define _libint2_src_bin_libint_traits_h_
32 typedef std::shared_ptr<T> StorageType;
33 enum { StoredAsPtr =
true };
34 static const T& const_ref(
const StorageType& s) {
return *s; };
41 enum { StoredAsPtr =
false };
48 enum { StoredAsPtr =
false };
52template <CartesianAxis Axis>
55 enum { StoredAsPtr =
false };
59template <CartesianAxis Axis>
62 enum { StoredAsPtr =
false };
71template <
typename Ref,
typename Base>
73 typedef const Base& result;
75template <
typename Ref,
typename Base>
77 typedef std::shared_ptr<Base> result;
Cartesian components of 3D CGF = 1D CGF.
Definition bfset.h:457
3D Cartesian Gaussian Function
Definition bfset.h:345
a "shell" of 1D CGFs with quantum number L is a set of 1D CGFs with quantum numbers 0 .
Definition bfset.h:647
3D Cartesian Gaussian Shell
Definition bfset.h:256
Defaults definitions for various parameters assumed by Libint.
Definition algebra.cc:24
Converts Base to a type of the same signature as Ref.
Definition traits.h:72
static const T & const_ref(const StorageType &s)
Convert an object of StorageType to const T&.
Definition traits.h:89
StorageTraits< T >::StorageType StorageType
By default, use std::shared_ptr to manage these objects.
Definition traits.h:85