mgmt: use std::bitset in ControlParametersCommandFormat
Change-Id: I3054fbcc1cb9e5315ca426db59736d486464211d
diff --git a/ndn-cxx/mgmt/nfd/control-command.cpp b/ndn-cxx/mgmt/nfd/control-command.cpp
index 5e3e09e..5c17a22 100644
--- a/ndn-cxx/mgmt/nfd/control-command.cpp
+++ b/ndn-cxx/mgmt/nfd/control-command.cpp
@@ -23,12 +23,6 @@
namespace ndn::nfd {
-ControlParametersCommandFormat::ControlParametersCommandFormat()
- : m_required(CONTROL_PARAMETER_UBOUND)
- , m_optional(CONTROL_PARAMETER_UBOUND)
-{
-}
-
void
ControlParametersCommandFormat::validate(const ControlParameters& parameters) const
{
diff --git a/ndn-cxx/mgmt/nfd/control-command.hpp b/ndn-cxx/mgmt/nfd/control-command.hpp
index b7d1384..2ba628d 100644
--- a/ndn-cxx/mgmt/nfd/control-command.hpp
+++ b/ndn-cxx/mgmt/nfd/control-command.hpp
@@ -25,6 +25,8 @@
#include "ndn-cxx/interest.hpp"
#include "ndn-cxx/mgmt/nfd/control-parameters.hpp"
+#include <bitset>
+
namespace ndn::nfd {
/**
@@ -47,15 +49,13 @@
public:
using ParametersType = ControlParameters;
- ControlParametersCommandFormat();
-
/**
* \brief Declare a required field.
*/
ControlParametersCommandFormat&
required(ControlParameterField field)
{
- m_required[field] = true;
+ m_required.set(field);
return *this;
}
@@ -65,7 +65,7 @@
ControlParametersCommandFormat&
optional(ControlParameterField field)
{
- m_optional[field] = true;
+ m_optional.set(field);
return *this;
}
@@ -85,8 +85,8 @@
encode(Interest& interest, const ControlParameters& params) const;
private:
- std::vector<bool> m_required;
- std::vector<bool> m_optional;
+ std::bitset<CONTROL_PARAMETER_UBOUND> m_required;
+ std::bitset<CONTROL_PARAMETER_UBOUND> m_optional;
};