Lines Matching refs:ptr_shared
2 * Inkscape::Util::ptr_shared<T> - like T const *, but stronger
23 class ptr_shared {
25 ptr_shared() : _obj(NULL) {}
28 ptr_shared(ptr_shared<T1> const &other) : _obj(other._obj) {}
41 ptr_shared<T> operator+(int i) const {
44 ptr_shared<T> operator-(int i) const {
48 ptr_shared<T> &operator+=(int i) const {
52 ptr_shared<T> &operator-=(int i) const {
58 std::ptrdiff_t operator-(ptr_shared<T1> const &other) {
63 ptr_shared<T> &operator=(ptr_shared<T1> const &other) {
69 bool operator==(ptr_shared<T1> const &other) const {
74 bool operator!=(ptr_shared<T1> const &other) const {
79 bool operator>(ptr_shared<T1> const &other) const {
84 bool operator<(ptr_shared<T1> const &other) const {
88 static ptr_shared<T> share_unsafe(T const *obj) {
89 return ptr_shared<T>(obj);
93 explicit ptr_shared(T const *obj) : _obj(obj) {}
100 inline ptr_shared<T> share(T const *obj) {
104 ptr_shared<char> share_string(char const *string);
105 ptr_shared<char> share_string(char const *string, std::size_t length);
108 inline ptr_shared<T> reshare(T const *obj) {
109 return ptr_shared<T>::share_unsafe(obj);
113 inline ptr_shared<T> share_unsafe(T const *obj) {
114 return ptr_shared<T>::share_unsafe(obj);
117 inline ptr_shared<char> share_static_string(char const *string) {
122 inline ptr_shared<T1> static_cast_shared(ptr_shared<T2> const &ref) {
127 inline ptr_shared<T1> dynamic_cast_shared(ptr_shared<T2> const &ref) {
132 inline ptr_shared<T1> reinterpret_cast_shared(ptr_shared<T2> const &ref) {