Struct IndexSpaceSpec¶
Defined in File index_basis_registry.hpp
Struct Documentation¶
-
struct IndexSpaceSpec¶
what IndexBasisRegistry::add(label, type, spec) registers a space with besides its label and type: each member is given by name, and each is optional. A bare value in the brace list,
{10}, is rejected (SEQUANT_DESIGNATED_INIT_ONLY): the members are set by name only, so that reordering them can never reinterpret a call site; the deprecated argument-list spelling of add() is where a bare number is the dimension.roles
whether the space is the registry’s vacuum-occupied, reference-occupied, complete, hole or particle space (see IndexBasisRegistry::vacuum_occupied_space() and its kin)
-
bool vacuum_occupied = false¶
-
bool reference_occupied = false¶
-
bool complete = false¶
-
bool hole = false¶
-
bool particle = false¶
Public Members
- SEQUANT_DESIGNATED_INIT_ONLY
-
std::optional<std::int64_t> dimension = {}¶
the dimension of the space; 10, the default of the IndexSpace ctor, if not given
- Pre:
non-negative
-
std::optional<IndexSpace::QuantumNumbers> qns = {}¶
the quantum numbers of the space; none if not given
-
std::optional<Field> field = {}¶
the scalar field of the space’s own basis; Field::Complex, the default of the IndexSpace ctor, if not given
-
bool vacuum_occupied = false¶