Elements 6.0.1
A C++ base framework for the Euclid Software.
Loading...
Searching...
No Matches
ClassExample.cpp
Go to the documentation of this file.
1
23
24#include <cmath> // for std::abs
25#include <cstdint> // for std::int64_t
26#include <memory> // for unique_ptr
27#include <string> // for string
28#include <vector> // for vector
29
31
32using std::vector;
33
34namespace Elements {
35namespace Examples {
36
37const std::string ClassExample::s_static_string = "This is a static field example";
38
39double ClassExample::fundamentalTypeMethod(const double input_variable) const {
40 return input_variable;
41}
42
43/*
44 * This is a silly example just to have a method throwing an exception
45 */
46double ClassExample::divideNumbers(const double first, const double second) const {
47 double tolerance = 1e-12;
48 if (std::abs(second) < tolerance) {
49 throw Elements::Exception() << "Dividing by " << second << " exception in ClassExample::divideNumbers(...)";
50 }
51 return first / second;
52}
53
55 vector_unique_ptr->size();
56}
57
59 input_object.size();
60}
61
62ClassExample ClassExample::factoryMethod(const std::int64_t source_id, const double ra) {
63 return ClassExample{source_id, ra};
64}
65
66} // namespace Examples
67} // namespace Elements
defines the base Elements exception class
double divideNumbers(const double first, const double second) const
Divide two double variables.
void passingUniquePointer(std::unique_ptr< std::vector< double > > vector_unique_ptr) const
Example method with a unique pointer argument.
static const std::string s_static_string
An example of a static string.
Definition: ClassExample.h:184
static ClassExample factoryMethod(const std::int64_t source_id, const double ra)
Example factory method.
void passingObjectInGeneral(const std::vector< double > &input_object) const
Example method taking an object in input.
double fundamentalTypeMethod(const double input_variable) const
Simple method example.
Elements base exception class.
Definition: Exception.h:47
T size(T... args)