mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Create base MapBuffer class and tests
Summary: This diff creates the base classes for MapBuffer and its tests Reviewed By: shergin Differential Revision: D15550730 fbshipit-source-id: a5a47edebd7c3e1b8b2c3ad2006aee0f8bdb7866
This commit is contained in:
committed by
Facebook Github Bot
parent
bc6dd6b48a
commit
9a053fc4db
@@ -0,0 +1,18 @@
|
||||
/**
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
#include "MapBuffer.h"
|
||||
|
||||
namespace facebook {
|
||||
namespace react {
|
||||
|
||||
MapBuffer::MapBuffer() {}
|
||||
|
||||
MapBuffer::~MapBuffer() {}
|
||||
|
||||
} // namespace react
|
||||
} // namespace facebook
|
||||
@@ -0,0 +1,37 @@
|
||||
/**
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
|
||||
namespace facebook {
|
||||
namespace react {
|
||||
|
||||
/**
|
||||
* MapBuffer is an optimized map format for transferring data like props between
|
||||
* C++ and other platforms The implemenation of this map is optimized to:
|
||||
* - be compact to optimize space when sparse (sparse is the common case).
|
||||
* - be accessible through JNI with zero/minimal copying via ByteBuffer.
|
||||
* - be Have excellent C++ single-write and many-read performance by maximizing
|
||||
* CPU cache performance through compactness, data locality, and fixed offsets
|
||||
* where possible.
|
||||
* - be optimized for iteration and intersection against other maps, but with
|
||||
* reasonably good random access as well.
|
||||
* - Work recursively for nested maps/arrays.
|
||||
* - Supports dynamic types that map to JSON.
|
||||
* - Don't require mutability - single-write on creation.
|
||||
* - have minimal APK size and build time impact.
|
||||
*/
|
||||
class MapBuffer {
|
||||
public:
|
||||
MapBuffer();
|
||||
virtual ~MapBuffer();
|
||||
};
|
||||
|
||||
} // namespace react
|
||||
} // namespace facebook
|
||||
@@ -0,0 +1,14 @@
|
||||
/**
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
#include <memory>
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
TEST(MapBufferTest, testSomething) {
|
||||
// TODO
|
||||
}
|
||||
Reference in New Issue
Block a user