OXY API 1.0
OXY API Library Documentation
Loading...
Searching...
No Matches
oxy::core Namespace Reference

This namespace contains core types and operations for the OXY-API library. More...

Namespaces

namespace  object
 This namespace contains function objects and operations related to object management in the oxy library.
namespace  plugin
 This namespace contains function objects and operations related to plugin management.

Classes

struct  config_path_t
 Singleton structure to hold the default configuration file path. More...
struct  create_schemas_fn
 Function object to create database schemas. More...
struct  enum_parents_fn
 Function object to enumerate the parents of a commit. More...
struct  expand_fn
 Function object to expand environment variables in settings paths. More...
struct  find_common_ancestor_fn
 Function object to find a common ancestor for two commits. More...
struct  get_commit_fn
 Function object to get a commit. More...
struct  get_fn
 Function object to retrieve settings, either from the default configuration file or a specified file. More...
struct  get_index_fn
 Function object to retrieve an index from a connection and an OID or object. More...
struct  get_ref_fn
 Function object to retrieve references from a connection. More...
struct  get_ref_when_fn
 Function object to retrieve the timestamp of a reference from a connection. More...
struct  get_reference_fn
 Function object to retrieve a specific reference from a connection. More...
struct  get_references_fn
 Function object to retrieve all references from a connection. More...
struct  load_fn
 Function object to load settings from an INI file. More...
struct  make_blob_f
 Generate a blob containing the given content. More...
struct  make_commit_fn
 Function object to create a commit in a container. More...
struct  make_index_fn
 Function object to create an index from a connection and an index item. More...
struct  make_stream_f
 Function object to create a stream from various input types. More...
struct  pull_oid_fn
 Function object to enumerate the commits in a container. More...
struct  push_commit_fn
 Function object to push a commit in a container. More...
struct  push_index_fn
 Function object to push an index item to a connection. More...
struct  push_ref_fn
 Function object to push a reference to a connection. More...
struct  remove_quote_fn
 Function object to remove quotes from a string. More...
struct  remove_ref_fn
 Function object to remove a reference from a connection. More...
struct  set_fn
 A function object that writes properties to an INI configuration file. More...
struct  set_reference_fn
 Function object to set a reference in a connection. More...
struct  settings_t
 Configuration settings for the oxy core library. More...

Typedefs

using path_t = std::filesystem::path
 Type alias for a filesystem path.
using properties = std::map<std::string, std::variant<std::string, int, double>>
 Type alias for a map of properties, where each property can be a string, int, or double.
using ptree_t = boost::property_tree::ptree
 Type alias for a Boost property tree.

Functions

template<typename Archive = cereal::JSONInputArchive>
std::istream & parse (std::istream &is, index_t &obj)
template<typename Archive = cereal::JSONOutputArchive>
std::ostream & serialize (std::ostream &os, index_t const &obj)
template<class Provider, class Hash, class Flavor>
void tag_invoke (boost::hash2::hash_append_tag const &, Provider const &, Hash &h, Flavor const &f, contents_t const *v)
 Hash append implementation for contents_t.

Variables

constexpr create_schemas_fn create_schemas
 A constexpr instance of the create_schemas_fn function object for use in functional programming.
constexpr enum_parents_fn enum_parents
 A constexpr instance of the enum_parents_fn function object for use in functional programming.
constexpr expand_fn expand
 A constexpr instance of the expand_fn function object for use in functional programming.
constexpr find_common_ancestor_fn find_common_ancestor
 A constexpr instance of the find_common_ancestor_fn function object for use in functional programming.
constexpr get_fn get
 A constexpr instance of the get_fn function object for use in functional programming.
constexpr get_commit_fn get_commit
 A constexpr instance of the get_commit_fn function object for use in functional programming.
constexpr get_index_fn get_index
 A constexpr instance of the get_index_fn function object for use in functional programming.
constexpr get_ref_fn get_ref
 A constexpr instance of the get_ref_fn function object for use in functional programming.
constexpr get_ref_when_fn get_ref_when
 A constexpr instance of the get_ref_when_fn function object for use in functional programming.
constexpr get_reference_fn get_reference
 A constexpr instance of the get_reference_fn function object for use in functional programming.
constexpr get_references_fn get_references
 A constexpr instance of the get_references_fn function object for use in functional programming.
constexpr load_fn load
 A constexpr instance of the load_fn function object for use in functional programming.
constexpr make_blob_f make_blob
 Generate a blob.
constexpr make_commit_fn make_commit
 A constexpr instance of the make_commit_fn function object for use in functional programming.
constexpr make_index_fn make_index
 A constexpr instance of the make_index_fn function object for use in functional programming.
constexpr make_stream_f make_stream
 A constexpr instance of the make_stream_f function object for use in functional programming.
constexpr pull_oid_fn pull_oid
 A constexpr instance of the pull_oid_fn function object for use in functional programming.
constexpr push_commit_fn push_commit
 A constexpr instance of the push_commit_fn function object for use in functional programming.
constexpr push_index_fn push_index
 A constexpr instance of the push_index_fn function object for use in functional programming.
constexpr push_ref_fn push_ref
 A constexpr instance of the push_ref_fn function object for use in functional programming.
constexpr remove_quote_fn remove_quote
 A constexpr instance of the remove_quote_fn function object for use in functional programming.
constexpr remove_ref_fn remove_ref
 A constexpr instance of the remove_ref_fn function object for use in functional programming.
constexpr set_fn set
 A constexpr instance of the set_fn function object for use in functional programming.
constexpr set_reference_fn set_reference
 A constexpr instance of the set_reference_fn function object for use in functional programming.

Detailed Description

This namespace contains core types and operations for the OXY-API library.

The oxy::core namespace provides fundamental types and operations for managing commits, indexes, and objects in a version control system. It includes function objects for enumerating commits, retrieving commit information, and creating new commits. The namespace leverages coroutines for efficient data processing and lazy evaluation of commit operations.

Function Documentation

◆ tag_invoke()

template<class Provider, class Hash, class Flavor>
void oxy::core::tag_invoke ( boost::hash2::hash_append_tag const & ,
Provider const & ,
Hash & h,
Flavor const & f,
contents_t const * v )

Hash append implementation for contents_t.

This function provides a specialization of the tag_invoke function for the boost::hash2::hash_append_tag tag, allowing the contents_t type to be hashed using the Boost Hash2 library. It appends the value of the contents_t object to the provided hash object, enabling the use of contents_t in hash-based containers and algorithms.

Template Parameters
ProviderThe type of the provider (not used in this implementation).
HashThe type of the hash object to which the contents will be appended.