Files
react-native/ReactCommon/fabric/core/primitives/RawPropsKey.h
T
Valentin Shergin df229590b2 Fabric: Adding missing noexcept operator to functions in raw props parsing infra
Summary:
This part of the codebase is very perf sensitive and designed to work without exceptions enabled.
Most of the method was `noexcept` all the time, but some of those missing that by mistake.

Reviewed By: sammy-SC

Differential Revision: D17629426

fbshipit-source-id: b311e4b7eff8e2b7cf29518288480d3a812dda44
2019-09-29 20:04:15 -07:00

43 lines
963 B
C++

/**
* 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>
#include <react/core/RawPropsPrimitives.h>
namespace facebook {
namespace react {
/*
* Represent a prop name stored as three `char const *` fragments.
*/
class RawPropsKey final {
public:
char const *prefix{};
char const *name{};
char const *suffix{};
/*
* Converts to `std::string`.
*/
explicit operator std::string() const noexcept;
/*
* Renders compound prop name to given buffer and put the resulting length
* into `length`.
*/
void render(char *buffer, RawPropsPropNameLength *length) const noexcept;
};
bool operator==(RawPropsKey const &lhs, RawPropsKey const &rhs) noexcept;
bool operator!=(RawPropsKey const &lhs, RawPropsKey const &rhs) noexcept;
} // namespace react
} // namespace facebook