Program Listing for File nest_vector.hpp

Return to documentation for file (cosm/arena/ds/nest_vector.hpp)

#pragma once

/*******************************************************************************
 * Includes
 ******************************************************************************/
#include <string>
#include <vector>
#include <memory>

#include "cosm/cosm.hpp"

/*******************************************************************************
 * Namespaces
 ******************************************************************************/
namespace cosm::repr { class nest; }

namespace cosm::arena::ds {

using nest_vectorno_type = crepr::nest*;
using nest_vectorro_type = const crepr::nest*;

/*******************************************************************************
 * Type Definitions
 ******************************************************************************/
class nest_vectorno : public std::vector<nest_vectorno_type> {
 public:
  using std::vector<nest_vectorno_type>::vector;
  using value_type = std::vector<nest_vectorno_type>::value_type;

  std::string to_str(void) const;
};


class nest_vectorro : public std::vector<nest_vectorro_type> {
 public:
  using std::vector<nest_vectorro_type>::vector;
  using value_type = std::vector<nest_vectorro_type>::value_type;

  std::string to_str(void) const;
};

} /* namespace cosm::arena::ds */