cgal/Kinetic_data_structures/doc/Kinetic_framework/Concepts/Key.h

47 lines
1.0 KiB
C++

namespace Kinetic {
/*!
\ingroup PkgKdsFrameworkOtherConcepts
\cgalConcept
The concept `Key` is a unique identifier for something in some sort of
table. In general, they can be only created by the table and are
returned when a appropriate `new_foo()` method is called on the
table. There are two classes of values for a `Key`, valid and
invalid. The latter cannot refer to something in a table. Use the
method `is_valid()` to differentiate.
\cgalHasModel `CGAL::Kinetic::Simulator::Event_key`
\cgalHasModel `CGAL::Kinetic::Active_objects_vector::Key`
*/
class Key {
public:
/*!
The default constructor is guaranteed to construct an invalid key (i.e.\ one which is false when cast to a bool.
*/
Key();
/// \name Operations
/// @{
/*!
This method returns false if the key
was created using the default constructor or was otherwise created
to be invalid.
*/
bool is_valid() const;
/*!
Write a text description of the key to a standard stream.
*/
std::ostream& operator<<(std::ostream&, Key);
/// @}
}; /* end Key */
} /* end namespace Kinetic */