Append
======

#### 函数功能

向后添加tiling data，若添加超过可容纳的最大长度，则添加失败。

#### 函数原型

template<typename T, typename std::enable\_if<std::is\_standard\_layout<T>::value, int>::type = 0>  ge::graphStatus Append(const T &data);
template<typename T, typename std::enable\_if<std::is\_standard\_layout<T>::value, int>::type = 0>  ge::graphStatus Append(const T \*data, size\_t append\_num);

#### 参数说明

| 参数 | 输入/输出 | 说明 |
| :-- | :-- | :-- |
| T | 输入 | 添加的tiling data的类型。 |
| const T &data | 输入 | 添加的tiling data实例。 |
| const T \*data | 输入 | 添加的tiling data起始地址。 |
| append\_num | 输入 | 添加的tiling data的个数，共添加append\_num个T类型的tiling data。 |

#### 返回值

*   成功返回ge::GRAPH\_SUCCESS。
    
*   失败返回ge::GRAPH\_FAILED。
    

#### 约束说明

添加的tiling data必须为符合standard\_layout，即内存平铺。

#### 调用示例

auto td\_buf = TilingData::CreateCap(100U);
auto td = reinterpret\_cast<TilingData \*>(td\_buf.get());
 
// 1
struct AppendData{
  int a = 10;
  int b = 100;
};
AppendData ad;
auto ret = td->Append<AppendData>(ad); // ge::GRAPH\_SUCCESS
 
// 2
size\_t append\_num = 10;
int32\_t \*td = new int32\_t\[append\_num\];
auto ret = td->Append<int32\_t>(td, append\_num); // ge::GRAPH\_SUCCESS
 
// 3
size\_t append\_num = 50;
int32\_t \*td = new int32\_t\[append\_num\];
auto ret = td->Append<int32\_t>(td, append\_num); // ge::GRAPH\_FAILED