Molassembler  3.0.1
Molecule graph and conformer library
Types.h File Reference

Defines basic types widely shared across the project. More...

#include "Molassembler/Export.h"
#include <cstddef>
#include <type_traits>
Include dependency graph for Types.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  Scine::Molassembler::BondIndex
 Type used to refer to particular bonds. Orders first < second. More...
 

Namespaces

 Scine::Molassembler
 Central library namespace.
 

Typedefs

using Scine::Molassembler::AtomIndex = std::size_t
 Unsigned integer atom index type. Used to refer to particular atoms.
 

Enumerations

enum class  Scine::Molassembler::BondType : unsigned {
  Single , Double , Triple , Quadruple ,
  Quintuple , Sextuple , Scine::Molassembler::Eta
}
 Discrete bond type numeration. More...
 
enum class  Scine::Molassembler::LengthUnit { Bohr , Angstrom }
 Length units.
 
enum class  Scine::Molassembler::AtomEnvironmentComponents : unsigned {
  Connectivity = 0 , ElementTypes = (1 << 0) , BondOrders = (1 << 1) , Shapes = (1 << 2) ,
  Stereopermutations = (1 << 3) , All = ElementTypes | BondOrders | Shapes | Stereopermutations
}
 For bitmasks grouping components of immediate atom environments. More...
 

Functions

std::size_t Scine::Molassembler::hash_value (const BondIndex &bond)
 Hash for BondIndex so it can be used as a key type in unordered containers. More...
 
constexpr bool operator& (const Scine::Molassembler::AtomEnvironmentComponents a, const Scine::Molassembler::AtomEnvironmentComponents b)
 Test whether two atom environment bitmasks share components. More...
 
constexpr Scine::Molassembler::AtomEnvironmentComponents operator| (const Scine::Molassembler::AtomEnvironmentComponents a, const Scine::Molassembler::AtomEnvironmentComponents b)
 Compose an atom environment components bitmask from parts.
 

Variables

constexpr unsigned Scine::Molassembler::nBondTypes = 7
 Number of distinct bond types present in the library.
 

Detailed Description

Defines basic types widely shared across the project.

Function Documentation

◆ operator&()

constexpr bool operator& ( const Scine::Molassembler::AtomEnvironmentComponents  a,
const Scine::Molassembler::AtomEnvironmentComponents  b 
)
inlineconstexpr

Test whether two atom environment bitmasks share components.

Returns
Whether the bitmasks share components