Console Library 8.0.0
A header-only library that makes C++ simple
Loading...
Searching...
No Matches
view.h File Reference

提供容器的非拥有视图(View),支持区间切片和便捷的工厂函数。 More...

#include <cstddef>
#include <iostream>
#include <iterator>
#include <string>
#include <vector>
#include "../core/csexc.h"
#include "../io/output.h"

Go to the source code of this file.

Classes

class  console::View< Container >
 容器的非拥有视图(可变版本)。 More...
class  console::View< const Container >
 容器的非拥有视图(常量版本)。 More...
class  console::View< T[]>
 T[] 的特化,包装原生数组指针。 More...
class  console::View< const T[]>
 const T[] 的特化,包装指向 const 的原生数组指针。 More...

Namespaces

namespace  console
 本库所有组件所在的顶层命名空间。

Functions

template<class CharT, class Traits>
std::basic_ostream< CharT, Traits > & console::operator<< (std::basic_ostream< CharT, Traits > &os, const View< std::string > &sv)
 输出 std::string 视图的内容。
template<class CharT, class Traits, class Container>
std::basic_ostream< CharT, Traits > & console::operator<< (std::basic_ostream< CharT, Traits > &os, const View< Container > &v)
 输出任意视图的内容。
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< T[]> console::make_view (T *begin, T *end)
 从指针对创建视图(可变版本)。
template<class T>
View< const T[]> console::make_view (const T *begin, const T *end)
 从指针对创建视图(常量版本)。
template<class T>
View< T[]> console::make_view (T *data, size_t count)
 从指针和长度创建视图(可变版本)。
template<class T>
View< const T[]> console::make_view (const T *data, size_t count)
 从指针和长度创建视图(常量版本)。

Detailed Description

提供容器的非拥有视图(View),支持区间切片和便捷的工厂函数。

View 类是一个轻量级的容器视图,不复制数据,仅保存一对迭代器。 支持范围 for 循环、下标访问、边界检查的 at() 方法,以及 collect() 复制数据到新容器。 同时提供工厂函数 make_view 简化 View 对象的创建。

Author
MrXie1109
Date
2026