OSVR-Core
RawSenderType.h
Go to the documentation of this file.
1 
11 // Copyright 2015 Sensics, Inc.
12 //
13 // Licensed under the Apache License, Version 2.0 (the "License");
14 // you may not use this file except in compliance with the License.
15 // You may obtain a copy of the License at
16 //
17 // http://www.apache.org/licenses/LICENSE-2.0
18 //
19 // Unless required by applicable law or agreed to in writing, software
20 // distributed under the License is distributed on an "AS IS" BASIS,
21 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22 // See the License for the specific language governing permissions and
23 // limitations under the License.
24 
25 #ifndef INCLUDED_RawSenderType_h_GUID_DF724F49_FE2F_4EB4_8CFC_8C16424400EC
26 #define INCLUDED_RawSenderType_h_GUID_DF724F49_FE2F_4EB4_8CFC_8C16424400EC
27 
28 // Internal Includes
29 #include <osvr/Common/Export.h>
30 #include <osvr/Util/StdInt.h>
31 
32 // Library/third-party includes
33 #include <boost/optional.hpp>
34 
35 // Standard includes
36 // - none
37 
38 namespace osvr {
39 namespace common {
45  class RawSenderType {
46  public:
47  typedef int32_t UnderlyingSenderType;
48 
50  RawSenderType();
51 
53  OSVR_COMMON_EXPORT explicit RawSenderType(UnderlyingSenderType sender);
54 
56  UnderlyingSenderType get() const;
57 
60  UnderlyingSenderType getOr(UnderlyingSenderType valueIfNotSet) const;
61 
62  private:
63  boost::optional<UnderlyingSenderType> m_sender;
64  };
65 
66 } // namespace common
67 } // namespace osvr
68 #endif // INCLUDED_RawSenderType_h_GUID_DF724F49_FE2F_4EB4_8CFC_8C16424400EC
Handles spatial transformations.
Definition: SerializationTraitExample_Complicated.h:40
Header wrapping the C99 standard stdint header.
The main namespace for all C++ elements of the framework, internal and external.
Definition: namespace_osvr.dox:3
UnderlyingSenderType getOr(UnderlyingSenderType valueIfNotSet) const
Gets the registered sender value, if specified, otherwise returns the provided value.
Definition: RawSenderType.cpp:43
RawSenderType()
Default constructor - "any sender".
Definition: RawSenderType.cpp:36
Type-safe wrapper with built-in default for a VRPN "sender type" integer.
Definition: RawSenderType.h:45