![]()  | 
  
    SQLite Containers
    
   | 
 
Utility functions for working with SQLite in sqlite_containers. More...
#include <sqlite3.h>#include <stdexcept>#include <string>#include <thread>#include <chrono>#include <vector>#include <deque>#include <list>#include <set>#include <unordered_set>#include <map>#include <unordered_map>#include <cstring>#include <type_traits>Go to the source code of this file.
Classes | |
| class | sqlite_containers::sqlite_exception | 
| Exception class for SQLite errors.  More... | |
Namespaces | |
| namespace | sqlite_containers | 
Macros | |
| #define | SQLITE_CONTAINERS_BUSY_RETRY_DELAY_MS 50 | 
Functions | |
| void | sqlite_containers::execute (sqlite3_stmt *stmt) | 
| Executes a SQLite statement.   | |
| void | sqlite_containers::execute (sqlite3 *sqlite_db, sqlite3_stmt *stmt) | 
| Executes a SQLite statement.   | |
| void | sqlite_containers::execute (sqlite3 *sqlite_db, const char *query) | 
| Prepares and executes a SQLite statement given as a string.   | |
| void | sqlite_containers::execute (sqlite3 *sqlite_db, const std::string &query) | 
| Prepares and executes a SQLite statement given as a string.   | |
| template<typename T> | |
| std::string | sqlite_containers::get_sqlite_type (typename std::enable_if< std::is_integral< T >::value >::type *=0) | 
| Gets the SQLite data type as a string for the given type.   | |
| template<typename T> | |
| std::string | sqlite_containers::get_sqlite_type (typename std::enable_if< std::is_floating_point< T >::value >::type *=0) | 
| template<typename T> | |
| std::string | sqlite_containers::get_sqlite_type (typename std::enable_if< std::is_same< T, std::string >::value >::type *=0) | 
| template<typename T> | |
| std::string | sqlite_containers::get_sqlite_type (typename std::enable_if< !std::is_integral< T >::value &&!std::is_floating_point< T >::value &&std::is_trivially_copyable< T >::value >::type *=0) | 
| template<typename T> | |
| std::enable_if< std::is_trivially_copyable< typenameT::value_type >::value &&std::is_same< T, std::vector< typenameT::value_type > >::value, std::string >::type | sqlite_containers::get_sqlite_type () | 
| template<typename T> | |
| std::enable_if< std::is_trivially_copyable< typenameT::value_type >::value &&std::is_same< T, std::deque< typenameT::value_type > >::value, std::string >::type | sqlite_containers::get_sqlite_type () | 
| template<template< class... > class ContainerT, class T> | |
| void | sqlite_containers::add_value (ContainerT< T > &container, T &value, typename std::enable_if< std::is_same< ContainerT< T >, std::set< T > >::value||std::is_same< ContainerT< T >, std::unordered_set< T > >::value >::type *=0) | 
| Adds a value to a container (set or unordered_set).   | |
| template<template< class... > class ContainerT, class T> | |
| void | sqlite_containers::add_value (ContainerT< T > &container, const T &value, const size_t &value_count=0, typename std::enable_if< std::is_same< ContainerT< T >, std::multiset< T > >::value||std::is_same< ContainerT< T >, std::unordered_multiset< T > >::value >::type *=0) | 
| Adds a value to a container (multiset or unordered_multiset).   | |
| template<template< class... > class ContainerT, class T> | |
| void | sqlite_containers::add_value (ContainerT< T > &container, T &value, typename std::enable_if< std::is_same< ContainerT< T >, std::list< T > >::value||std::is_same< ContainerT< T >, std::vector< T > >::value||std::is_same< ContainerT< T >, std::deque< T > >::value >::type *=0) | 
| Adds a value to a container (list, vector, or deque).   | |
| template<template< class... > class ContainerT, class T> | |
| void | sqlite_containers::add_value (ContainerT< T > &container, const T &value, const size_t &value_count, typename std::enable_if< std::is_same< ContainerT< T >, std::list< T > >::value||std::is_same< ContainerT< T >, std::vector< T > >::value||std::is_same< ContainerT< T >, std::deque< T > >::value >::type *=0) | 
| Adds a value to a container (list, vector, or deque).   | |
| template<template< class... > class ContainerT, class T> | |
| void | sqlite_containers::add_value (ContainerT< T > &container, const T &value, const size_t &value_count, typename std::enable_if< std::is_same< ContainerT< T >, std::set< T > >::value||std::is_same< ContainerT< T >, std::multiset< T > >::value||std::is_same< ContainerT< T >, std::unordered_set< T > >::value||std::is_same< ContainerT< T >, std::unordered_multiset< T > >::value >::type *=0) | 
| Adds a value to a container (std::set).   | |
| template<template< class... > class ContainerT, typename KeyT, typename ValueT> | |
| void | sqlite_containers::add_value (ContainerT< KeyT, ValueT > &container, KeyT &key, ValueT &value, const size_t &value_count, typename std::enable_if< std::is_same< ContainerT< KeyT, ValueT >, std::multimap< KeyT, ValueT > >::value||std::is_same< ContainerT< KeyT, ValueT >, std::unordered_multimap< KeyT, ValueT > >::value >::type *=0) | 
| Adds a key-value pair to a container (multimap or unordered_multimap).   | |
| template<template< class... > class ContainerT, typename KeyT, typename ValueT> | |
| std::list< ValueT > | sqlite_containers::get_values (ContainerT< KeyT, ValueT > &container, const KeyT &key, typename std::enable_if< std::is_same< ContainerT< KeyT, ValueT >, std::map< KeyT, ValueT > >::value||std::is_same< ContainerT< KeyT, ValueT >, std::unordered_map< KeyT, ValueT > >::value >::type *=0) | 
| Retrieves values from a container (map or unordered_map) based on the key.   | |
| template<template< class... > class ContainerT, template< class... > class ValueContainerT, typename KeyT, typename ValueT> | |
| std::list< ValueT > | sqlite_containers::get_values (ContainerT< KeyT, ValueContainerT< ValueT > > &container, const KeyT &key, typename std::enable_if< std::is_same< ContainerT< KeyT, ValueT >, std::map< KeyT, ValueContainerT< ValueT > > >::value||std::is_same< ContainerT< KeyT, ValueT >, std::unordered_map< KeyT, ValueContainerT< ValueT > > >::value >::type *=0) | 
| Retrieves values from a container (map or unordered_map) based on the key.   | |
| template<template< class... > class ContainerT, typename KeyT, typename ValueT> | |
| std::list< ValueT > | sqlite_containers::get_values (ContainerT< KeyT, ValueT > &container, const KeyT &key, typename std::enable_if< std::is_same< ContainerT< KeyT, ValueT >, std::multimap< KeyT, ValueT > >::value||std::is_same< ContainerT< KeyT, ValueT >, std::unordered_multimap< KeyT, ValueT > >::value >::type *=0) | 
| Retrieves values from a container (multimap or unordered_multimap) based on the key.   | |
| template<typename T> | |
| bool | sqlite_containers::byte_compare (const T &a, const T &b) | 
Utility functions for working with SQLite in sqlite_containers.
Definition in file Utils.hpp.