OXY API 1.0
OXY API Library Documentation
Loading...
Searching...
No Matches
type.hpp File Reference

Defines fundamental types for the OXY-API library. More...

Classes

struct  oxy::blob_t
 In-memory representation of a blob object. More...
 In-memory representation of a link betwin an oid and a category. More...
struct  oxy::category_t
 In-memory representation of a category. More...
struct  oxy::commit_t
 In-memory representation of a commit. More...
struct  oxy::contents_t
 In-memory representation of a contents. More...
struct  oxy::entry_t
 Representation of an entry of an index. More...
struct  oxy::get_oid_fn
 Get the identifier of an Oxy object. More...
struct  oxy::index_t
 In-memory representation of a index object. More...
struct  oxy::manifest_t
 In-memory representation of a manifest. More...
 In-memory representation of a metadata. More...
struct  oxy::mime_t
 Representation of a MIME code. More...
struct  oxy::object_t
 Representation of an OXY object. More...
struct  oxy::oid_t
 Unique identity of any object. More...
struct  oxy::record_t
 In-memory representation of a record. More...
struct  oxy::signature_t
 In-memory representation of a signature. More...
struct  oxy::stream_t
 In-memory representation of a stream. More...
 In-memory representation of a link betwin an oid and a tag. More...
struct  oxy::tag_t
 In-memory representation of a tag. More...
struct  oxy::tags_t
 In-memory representation of a collection of tag. More...
struct  oxy::timestamp_t
 In-memory representation of the timestamp. More...

Namespaces

namespace  oxy
 This root namespace contains the common types and operations for the OXY-API library.

Typedefs

using oxy::path_t = std::filesystem::path
 Alias for the std::filesystem::path type used in the oxy library.
using oxy::paths_t = std::vector<path_t>
 Alias for a vector of path_t used in the oxy library.
using oxy::reference_t = references::value_type
 In-memory representation of a reference.
using oxy::references = std::map<std::string, std::string>
 In-memory representation of a collection of references.
using oxy::remote_t = remotes_t::value_type
 In-memory representation of a remote object.
using oxy::remotes_t = std::map<std::string, std::string>
 In-memory representation of a collection of remote objects.

Enumerations

enum class  oxy::eType { oxy::any = 0 , oxy::commit = 1 , oxy::index = 2 , oxy::blob = 3 }
 Basic type of any object. More...

Functions

constexpr auto oxy::get_author (const commit_t &item)
 Helper to get the author of an commit.
constexpr auto oxy::get_name (const signature_t &item)
 Helper to get the name of a signature.
constexpr auto oxy::get_parents (const commit_t &item)
 Helper to get the parents of an commit.
constexpr auto oxy::get_tree (const commit_t &item)
 Gets the index id of a commit.
constexpr auto oxy::get_type (object_t const &item)
 Helper to get the type of an object.
constexpr auto oxy::get_url (const reference_t &item)
 Gets the URL of an Oxy reference.
constexpr auto oxy::get_value (const blob_t &item)
 Gets the value of a blob.
constexpr auto oxy::get_value (const oid_t &item)
 Helper toget the id of a index an Oxy object.
constexpr auto oxy::get_value (const timestamp_t &item)
 Helper to get the value of a timestamp.
constexpr auto oxy::get_when (const signature_t &item)
 Helper to get the when of a signature.

Variables

constexpr get_oid_fn oxy::get_oid
 Get the identifier of an Oxy object.
constexpr auto oxy::is_blob = [](const object_t &obj) { return obj.type() == eType::blob; }
 Helper to check if the object belongs to the blob type.
constexpr auto oxy::is_commit = [](const object_t &obj) { return obj.type() == eType::commit; }
 Helper to check if the object belongs to the commit type.
constexpr auto oxy::is_tree = [](const object_t &obj) { return obj.type() == eType::index; }
 Helper to check if the object belongs to the index type.

Detailed Description

Defines fundamental types for the OXY-API library.

This header defines fundamental types used in the OXY-API library. These types represent various entities in the OXY system, such as unique identifiers, objects, timestamps, binary data, MIME types, metadata, contents, entries in an index, collections of entries, signatures, and commits. Each type is designed to encapsulate specific data and provide relevant operations for managing and manipulating these entities within the OXY-API library. The types are implemented with appropriate constructors, accessors, comparison operators, and utility functions to facilitate their usage in the library.

@license MPL-2.0