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;
 };