|
Console Library 4.7.0
A header-only library that makes C++ simple
|
提供容器的非拥有视图(View),支持区间切片和便捷的工厂函数。 More...
#include <iostream>#include <cstddef>#include <iterator>#include <string>#include <vector>#include "csexc.h"Go to the source code of this file.
Classes | |
| class | console::View< Container > |
| 容器的非拥有视图(可变版本)。 More... | |
| class | console::View< const Container > |
| 容器的非拥有视图(常量版本)。 More... | |
Namespaces | |
| namespace | console |
| 本库所有组件所在的顶层命名空间。 | |
Functions | |
| std::ostream & | console::operator<< (std::ostream &os, const View< std::string > &sv) |
| 输出 std::string 视图的内容(直接输出字符串,不添加额外格式)。 | |
| template<class T> | |
| std::ostream & | console::operator<< (std::ostream &os, const View< T > &v) |
| 输出任意视图的内容(通过 collect() 转为容器后输出)。 | |
| template<class Container> | |
| View< Container > | console::make_view (Container &cont) |
| 创建整个容器的视图(可变版本)。 | |
| template<class Container> | |
| View< const Container > | console::make_view (const Container &cont) |
| 创建整个容器的视图(常量版本)。 | |
| template<class Container> | |
| View< Container > | console::make_view (Container &cont, size_t start, size_t end) |
| 创建容器子区间的视图(可变版本)。 | |
| template<class Container> | |
| View< const Container > | console::make_view (const Container &cont, size_t start, size_t end) |
| 创建容器子区间的视图(常量版本)。 | |
| template<class Container> | |
| View< Container > | console::make_view (typename Container::iterator begin, typename Container::iterator end) |
| 从迭代器对创建视图(可变版本)。 | |
| template<class Container> | |
| View< const Container > | console::make_view (typename Container::const_iterator begin, typename Container::const_iterator end) |
| 从迭代器对创建视图(常量版本)。 | |
| template<class T> | |
| View< std::vector< T > > | console::make_view (T *begin, T *end) |
| 从指针对创建视图(可变版本)。 | |
| template<class T> | |
| View< const std::vector< T > > | console::make_view (const T *begin, const T *end) |
| 从指针对创建视图(常量版本)。 | |
提供容器的非拥有视图(View),支持区间切片和便捷的工厂函数。
View 类是一个轻量级的容器视图,不复制数据,仅保存一对迭代器。 支持范围 for 循环、下标访问、边界检查的 at() 方法,以及 collect() 复制数据到新容器。 同时提供工厂函数 make_view 简化 View 对象的创建。