Google Cloud Spanner C++ Client  1.32.0
A C++ Client Library for Google Cloud Spanner
Classes | Namespaces | Functions
numeric.h File Reference
#include "google/cloud/spanner/version.h"
#include "google/cloud/status.h"
#include "google/cloud/status_or.h"
#include "absl/numeric/int128.h"
#include <cstdlib>
#include <cstring>
#include <limits>
#include <ostream>
#include <string>
#include <type_traits>
#include <utility>

Go to the source code of this file.

Classes

class  google::cloud::spanner::v1::Numeric
 A representation of the Spanner NUMERIC type: an exact numeric value with 29 decimal digits of integer precision (kIntPrec) and 9 decimal digits of fractional precision (kFracPrec). More...
 

Namespaces

 google
 
 google::cloud
 The namespace Google Cloud Platform C++ client libraries.
 
 google::cloud::spanner
 Contains all the Cloud Spanner C++ client types and functions.
 
 google::cloud::spanner::v1
 The inlined, versioned namespace for the Cloud Spanner C++ client APIs.
 

Functions

StatusOr< Numeric > google::cloud::spanner::v1::MakeNumeric (std::string s)
 Construction from a string, in decimal fixed- or floating-point formats. More...
 
StatusOr< Numeric > google::cloud::spanner::v1::MakeNumeric (double d)
 Construction from a double. More...
 
template<typename T , typename std::enable_if< std::numeric_limits< T >::is_integer, int >::type = 0>
StatusOr< Numeric > google::cloud::spanner::v1::MakeNumeric (T i, int exponent=0)
 Construction from an integer i, scaled by 10^exponent. More...
 
double google::cloud::spanner::v1::ToDouble (Numeric const &n)
 Conversion to the closest double value, with possible loss of precision. More...
 
template<typename T , typename std::enable_if< std::numeric_limits< T >::is_integer &&!std::numeric_limits< T >::is_signed, int >::type = 0>
StatusOr< T > google::cloud::spanner::v1::ToInteger (Numeric const &n, int exponent=0)
 Conversion to the nearest integer value, scaled by 10^exponent. More...