Cppinecone
A C++ client for the Pinecone vector database
vector_metadata.hpp File Reference

Encoding for Pinecone's vector metadata API. More...

#include <cstdint>
#include <sstream>
#include <string>
#include <string_view>
#include <tuple>
#include <unordered_map>
#include <variant>
#include <nlohmann/json.hpp>
#include "pinecone/util/result.hpp"
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  pinecone::types::metadata
 Metadata for a single Pinecone vector. More...
 
struct  pinecone::types::filter_base< Derived >
 Common operations shared for all filter types. More...
 
struct  pinecone::types::binary_filter
 Binary filters are simple predicates; they compare a single metadata value to a provided operand. More...
 
struct  pinecone::types::array_filter< iter >
 Array filters test a single metadata value against multiple operands. More...
 
struct  pinecone::types::combination_filter< ts >
 Combination filters apply boolean logic to the other filter types. More...
 
struct  pinecone::types::no_filter
 No filter applied; always returns true. More...
 

Typedefs

using json = nlohmann::json
 

Enumerations

enum class  pinecone::types::binary_operator {
  unknown , eq , ne , gt ,
  gte , lt , lte
}
 The binary operators supported by the metadata filtering API.
 

Functions

 pinecone::types::NLOHMANN_JSON_SERIALIZE_ENUM (binary_operator, {{binary_operator::unknown, nullptr}, {binary_operator::eq, "$eq"}, {binary_operator::ne, "$ne"}, {binary_operator::gt, "$gt"}, {binary_operator::gte, "$gte"}, {binary_operator::lt, "$lt"}, {binary_operator::lte, "$lte"}}) enum class array_operator
 The array operators supported by the metadata filtering API.
 
 pinecone::types::NLOHMANN_JSON_SERIALIZE_ENUM (array_operator, {{array_operator::unknown, nullptr}, {array_operator::in, "$in"}, {array_operator::nin, "$nin"}}) enum class combination_operator
 The combination operators supported by the metadata filtering API.
 
 pinecone::types::NLOHMANN_JSON_SERIALIZE_ENUM (combination_operator, {{combination_operator::unknown, nullptr}, {combination_operator::and_, "$and"}, {combination_operator::or_, "$or"}}) struct metadata_value
 Value types supported by the metadata filtering API.
 
template<typename filter >
auto pinecone::types::serialize_expand (json &arr, filter const &f) -> void
 
template<typename filter , typename... filters>
auto pinecone::types::serialize_expand (json &arr, filter const &f, filters const &... fs) -> void
 

Detailed Description

Encoding for Pinecone's vector metadata API.

Definition in file vector_metadata.hpp.