CTRE Phoenix 6 C++ 26.70.0-alpha-2
Loading...
Searching...
No Matches
Configuration.hpp
Go to the documentation of this file.
1/*
2 * Copyright (C) Cross The Road Electronics.  All rights reserved.
3 * License information can be found in CTRE_LICENSE.txt
4 * For support and suggestions contact support@ctr-electronics.com or file
5 * an issue tracker at https://github.com/CrossTheRoadElec/Phoenix-Releases
6 */
7#pragma once
8
10#include <iosfwd>
11#include <string>
12
13namespace ctre {
14namespace phoenix6 {
15namespace configs {
16
17/**
18 * \brief Common interface for all configuration objects.
19 */
21public:
22 virtual std::string ToString() const = 0;
23 friend std::ostream &operator<<(std::ostream &str, ParentConfiguration const &v);
24
25 /**
26 * \brief Serialize this configuration into a string.
27 *
28 * \returns Serialized configuration
29 */
30 virtual std::string Serialize() const = 0;
31 /**
32 * \brief Deserialize this configuration from a string.
33 *
34 * \param string The serialized configuration
35 * \returns Status code of the deserialization
36 */
37 virtual ctre::phoenix::StatusCode Deserialize(std::string const &string) = 0;
38};
39
40/**
41 * \brief An empty configuration.
42 */
44public:
45 constexpr EmptyConfiguration() = default;
46
47 std::string ToString() const override
48 {
49 return "";
50 }
51 std::string Serialize() const override
52 {
53 return "";
54 }
55 ctre::phoenix::StatusCode Deserialize(std::string const &) override
56 {
58 }
59};
60
61}
62}
63}
std::string Serialize() const override
Serialize this configuration into a string.
Definition Configuration.hpp:51
std::string ToString() const override
Definition Configuration.hpp:47
ctre::phoenix::StatusCode Deserialize(std::string const &) override
Deserialize this configuration from a string.
Definition Configuration.hpp:55
Common interface for all configuration objects.
Definition Configuration.hpp:20
friend std::ostream & operator<<(std::ostream &str, ParentConfiguration const &v)
virtual ctre::phoenix::StatusCode Deserialize(std::string const &string)=0
Deserialize this configuration from a string.
virtual std::string Serialize() const =0
Serialize this configuration into a string.
virtual std::string ToString() const =0
Status codes reported by APIs, including OK, warnings, and errors.
Definition StatusCodes.h:28
static constexpr int OK
No Error.
Definition StatusCodes.h:35
Definition ExternalFeedbackConfigs.hpp:21
Definition ExternalFeedbackConfigs.hpp:16
Definition motor_constants.h:14