AnnaDB 1.0
Loading...
Searching...
No Matches
Public Member Functions | Friends | List of all members
annadb::Query::Query Class Reference

Public Member Functions

 Query (std::string collection_name)
 
void insert (Insert &insert) noexcept
 
void insert (tyson::TySonObject &insert) noexcept
 
void insert (std::vector< tyson::TySonObject > &insert) noexcept
 
template<typename ... T>
void insert (T &&...insert) noexcept
 
Queryget (Get &get) noexcept
 
Queryget (tyson::TySonObject &get) noexcept
 
Queryget (std::vector< tyson::TySonObject > &get) noexcept
 
template<std::convertible_to< tyson::TySonObject > ... T>
Queryget (T &&...values) noexcept
 
Queryfind (Find &&find) noexcept
 
Querysort (Sort &&sort) noexcept
 
Querylimit (Limit &limit) noexcept
 
template<typename T >
requires std::is_integral_v<T>
Querylimit (T &&limit) noexcept
 
Queryoffset (Offset &offset) noexcept
 
template<typename T >
requires std::is_integral_v<T>
Queryoffset (T &&offset) noexcept
 
void update (UpdateType &&kind, tyson::TySonObject &value)
 
void update (UpdateType &kind, std::vector< tyson::TySonObject > &values)
 
template<std::convertible_to< tyson::TySonObject > ... T>
void update (UpdateType &kind, T &&...values)
 
void update (std::vector< std::tuple< UpdateType, tyson::TySonObject > > &values)
 
void delete_q () noexcept
 
template<std::convertible_to< std::pair< std::string, tyson::TySonObject > > ... T>
Queryproject (T &&...values) noexcept
 

Friends

std::ostream & operator<< (std::ostream &out, Query &query) noexcept
 

Constructor & Destructor Documentation

◆ Query()

annadb::Query::Query::Query ( std::string  collection_name)
inlineexplicit

The class to create your queries

Parameters
collection_name

Member Function Documentation

◆ delete_q()

void annadb::Query::Query::delete_q ( )
inlinenoexcept

Create Delete statement

◆ find()

Query & annadb::Query::Query::find ( Find &&  find)
inlinenoexcept

Create Find statement

Parameters
find
See also
query.annadb::Query::Find
Returns
the query class to add additional statements

◆ get() [1/4]

Query & annadb::Query::Query::get ( Get get)
inlinenoexcept

Create Get statement

Parameters
get
See also
query.annadb::Query::Get
Returns
the query class to add additional statements

◆ get() [2/4]

Query & annadb::Query::Query::get ( std::vector< tyson::TySonObject > &  get)
inlinenoexcept

Create Get statement

Parameters
get
Returns
the query class to add additional statements

◆ get() [3/4]

template<std::convertible_to< tyson::TySonObject > ... T>
Query & annadb::Query::Query::get ( T &&...  values)
inlinenoexcept

Create Get statement

Parameters
values
Returns
the query class to add additional statements

◆ get() [4/4]

Query & annadb::Query::Query::get ( tyson::TySonObject get)
inlinenoexcept

Create Get statement

Parameters
get
See also
TySON.tyson::TySonObject
Returns
the query class to add additional statements

◆ insert() [1/4]

void annadb::Query::Query::insert ( Insert insert)
inlinenoexcept

Create Insert statement

Parameters
insert
See also
query.annadb::Query::Insert

◆ insert() [2/4]

void annadb::Query::Query::insert ( std::vector< tyson::TySonObject > &  insert)
inlinenoexcept

Create Insert statement

Parameters
insert

◆ insert() [3/4]

template<typename ... T>
void annadb::Query::Query::insert ( T &&...  insert)
inlinenoexcept

Create Insert statement

Parameters
insert

◆ insert() [4/4]

void annadb::Query::Query::insert ( tyson::TySonObject insert)
inlinenoexcept

Create Insert statement

Parameters
insert
See also
TySON.tyson::TySonObject

◆ limit() [1/2]

Query & annadb::Query::Query::limit ( Limit limit)
inlinenoexcept

Create Limit statement

Parameters
limit
See also
query.annadb::Query::Limit
Returns
the query class to add additional statements

◆ limit() [2/2]

template<typename T >
requires std::is_integral_v<T>
Query & annadb::Query::Query::limit ( T &&  limit)
inlinenoexcept

Create Limit statement

Template Parameters
Tintegral
Parameters
limitthe amount of values in the result
Returns
the query class to add additional statements

◆ offset() [1/2]

Query & annadb::Query::Query::offset ( Offset offset)
inlinenoexcept

Create Offset statement

Parameters
offset
See also
query.annadb::Query::Offset
Returns
the query class to add additional statements

◆ offset() [2/2]

template<typename T >
requires std::is_integral_v<T>
Query & annadb::Query::Query::offset ( T &&  offset)
inlinenoexcept

Create Offset statement

Template Parameters
Tintegral
Parameters
offsetthe amount of values you skip in the result
Returns
the query class to add additional statements

◆ project()

template<std::convertible_to< std::pair< std::string, tyson::TySonObject > > ... T>
Query & annadb::Query::Query::project ( T &&...  values)
inlinenoexcept

Create Project statement

Parameters
valuesmust be a pair of std::string, tyson::TySonObject
See also
TySON.tyson::TySonObject
Returns
the query class to add additional statements

◆ sort()

Query & annadb::Query::Query::sort ( Sort &&  sort)
inlinenoexcept

Create Find statement

Parameters
find
See also
query.annadb::Query::Find
Returns
the query class to add additional statements

◆ update() [1/3]

void annadb::Query::Query::update ( std::vector< std::tuple< UpdateType, tyson::TySonObject > > &  values)
inline

Create Update statement

Parameters
valuescan be a vector of mixed UpdateType with the corresponding value
See also
query.annadb::Query::UpdateType
TySON.tyson::TySonObject

◆ update() [2/3]

void annadb::Query::Query::update ( UpdateType &&  kind,
tyson::TySonObject value 
)
inline

Create Update statement

Parameters
kind
See also
query.annadb::Query::UpdateType
Parameters
valuemust be of type TySonType::Value
See also
TySON.tyson::TySonObject

◆ update() [3/3]

void annadb::Query::Query::update ( UpdateType kind,
std::vector< tyson::TySonObject > &  values 
)
inline

Create Update statement

Parameters
kind
See also
query.annadb::Query::UpdateType
Parameters
valuesmust contain only types of TySonType::Value
See also
TySON.tyson::TySonObject

The documentation for this class was generated from the following file: