1 #ifndef vcsl_millimeter_h_
2 #define vcsl_millimeter_h_
3 //:
4 // \file
5 #include "vcsl_length_unit.h"
6 #include "vcsl_millimeter_sptr.h"
7 
8 //: Standard unit associated to the length dimension
9 class vcsl_millimeter
10   : public vcsl_length_unit
11 {
12   //***************************************************************************
13   // Constructors/Destructor
14   //***************************************************************************
15 
16   // Default constructor
17   vcsl_millimeter() = default;
18 
19  public:
20   // Destructor
21   ~vcsl_millimeter() override = default;
22 
23   //***************************************************************************
24   // Status report
25   //***************************************************************************
26 
27   //: Returns the number of units of `this' equal of the standard_unit for the dimension
28   // Pure virtual function of vcsl_unit
units_per_standard_unit()29   double units_per_standard_unit() const override { return 1000; }
30 
31   //***************************************************************************
32   // Singleton pattern
33   //***************************************************************************
34 
35   //: Return the reference to the unique vcsl_millimeter object
36   static vcsl_millimeter_sptr instance();
37 };
38 
39 #endif // vcsl_millimeter_h_
40