19 class ScelEnumByProps;
43 std::string
name()
const override;
std::shared_ptr< Structure const > shared_prim
ScelEnumByProps(const ScelEnumByProps &)=delete
notstd::cloneable_ptr< Supercell > m_current
std::unique_ptr< xtal::SuperlatticeEnumerator > m_lattice_enum
xtal::SuperlatticeEnumerator::const_iterator m_lat_it
ScelEnumByProps(std::shared_ptr< const Structure > const &shared_prim, const xtal::ScelEnumProps &enum_props)
Construct with shared prim Structure and ScelEnumProps settings.
std::string name() const override
Derived enumerators must implement name, via ENUM_MEMBERS.
std::shared_ptr< Structure const > m_shared_prim
ScelEnumByProps & operator=(const ScelEnumByProps &)=delete
void increment() override
Implements increment over supercells.
static const std::string enumerator_name
xtal::SuperlatticeEnumerator::const_iterator m_lat_end
Data structure for holding supercell enumeration properties.
Iterators used with SuperlatticeEnumerator.
A 'cloneable_ptr' can be used in place of 'unique_ptr'.
bool is_guaranteed_for_database_insert(ConfigEnumAllOccupations const &enumerator)