1cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 2cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// found in the LICENSE file. 4cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 5cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#ifndef MOJO_PUBLIC_CPP_BINDINGS_LIB_BUFFER_H_ 6cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#define MOJO_PUBLIC_CPP_BINDINGS_LIB_BUFFER_H_ 7cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 8cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include <stddef.h> 9cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 10cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)namespace mojo { 11cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)namespace internal { 12cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 13cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Buffer provides a way to allocate memory. Allocations are 8-byte aligned and 14cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// zero-initialized. Allocations remain valid for the lifetime of the Buffer. 15cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)class Buffer { 16cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) public: 17cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) virtual ~Buffer() {} 18cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) virtual void* Allocate(size_t num_bytes) = 0; 19cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}; 20cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 21cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)} // namespace internal 22cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)} // namespace mojo 23cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 24cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#endif // MOJO_PUBLIC_CPP_BINDINGS_LIB_BUFFER_H_ 25