Commit 3b8a9dd6 authored by Max Kellermann's avatar Max Kellermann

util/{Const,Writable}Buffer: add typedef reference_type

parent cfbee591
/* /*
* Copyright (C) 2013 Max Kellermann <max@duempel.org> * Copyright (C) 2013-2014 Max Kellermann <max@duempel.org>
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions * modification, are permitted provided that the following conditions
...@@ -86,6 +86,8 @@ struct ConstBuffer<void> { ...@@ -86,6 +86,8 @@ struct ConstBuffer<void> {
template<typename T> template<typename T>
struct ConstBuffer { struct ConstBuffer {
typedef size_t size_type; typedef size_t size_type;
typedef const T &reference_type;
typedef reference_type const_reference_type;
typedef const T *pointer_type; typedef const T *pointer_type;
typedef pointer_type const_pointer_type; typedef pointer_type const_pointer_type;
typedef pointer_type iterator; typedef pointer_type iterator;
...@@ -155,7 +157,7 @@ struct ConstBuffer { ...@@ -155,7 +157,7 @@ struct ConstBuffer {
#ifdef NDEBUG #ifdef NDEBUG
constexpr constexpr
#endif #endif
const T &operator[](size_type i) const { reference_type operator[](size_type i) const {
#ifndef NDEBUG #ifndef NDEBUG
assert(i < size); assert(i < size);
#endif #endif
......
/* /*
* Copyright (C) 2013 Max Kellermann <max@duempel.org> * Copyright (C) 2013-2014 Max Kellermann <max@duempel.org>
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions * modification, are permitted provided that the following conditions
...@@ -80,6 +80,8 @@ struct WritableBuffer<void> { ...@@ -80,6 +80,8 @@ struct WritableBuffer<void> {
template<typename T> template<typename T>
struct WritableBuffer { struct WritableBuffer {
typedef size_t size_type; typedef size_t size_type;
typedef T &reference_type;
typedef const T &const_reference_type;
typedef T *pointer_type; typedef T *pointer_type;
typedef const T *const_pointer_type; typedef const T *const_pointer_type;
typedef pointer_type iterator; typedef pointer_type iterator;
...@@ -149,7 +151,7 @@ struct WritableBuffer { ...@@ -149,7 +151,7 @@ struct WritableBuffer {
#ifdef NDEBUG #ifdef NDEBUG
constexpr constexpr
#endif #endif
T &operator[](size_type i) const { reference_type operator[](size_type i) const {
#ifndef NDEBUG #ifndef NDEBUG
assert(i < size); assert(i < size);
#endif #endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment